* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
    overflow-x: hidden;
    background: #f7fbf9;
    color: #101828;
    font-family: Inter, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
}

.server-flash {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(13, 22, 40, .36);
    text-align: center;
    animation: server-flash-fade-in .18s ease both;
}

.server-flash.is-hiding {
    animation: server-flash-fade-out .16s ease both;
}

.server-flash-card {
    position: relative;
    width: min(520px, calc(100vw - 76px));
    min-height: 252px;
    padding: 34px 32px 28px;
    border: 1px solid rgba(217, 239, 232, .9);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fffc 100%);
    box-shadow: 0 22px 58px rgba(12, 91, 68, .2);
    color: #111827;
    transform: translateY(0) scale(1);
    animation: server-flash-card-in .2s ease both;
}

.server-flash-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #00a878, #10bfaa);
    box-shadow: 0 12px 22px rgba(0, 168, 120, .2);
}

.server-flash-icon::before {
    content: "";
    width: 24px;
    height: 14px;
    border-left: 5px solid #fff;
    border-bottom: 5px solid #fff;
    transform: translateY(-3px) rotate(-45deg);
}

.server-flash-card h2 {
    margin: 0;
    color: #0d1628;
    font-size: 27px;
    font-weight: 900;
    line-height: 34px;
}

.server-flash-card p {
    margin: 12px 0 24px;
    color: #52637d;
    font-size: 20px;
    font-weight: 600;
    line-height: 29px;
    word-break: break-word;
}

.server-flash-card button {
    width: 100%;
    height: 58px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(90deg, #00a878, #10bfaa);
    color: #fff;
    font-size: 23px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(0, 168, 120, .18);
}

.server-flash.error {
    background: rgba(13, 22, 40, .36);
}

.server-flash.error .server-flash-card {
    border-color: rgba(255, 210, 196, .95);
    background: linear-gradient(180deg, #ffffff 0%, #fffaf8 100%);
}

.server-flash.error .server-flash-icon {
    background: linear-gradient(135deg, #ff8c66, #ffb17c);
    box-shadow: 0 12px 22px rgba(255, 140, 102, .18);
}

.server-flash.error .server-flash-icon::before {
    width: auto;
    height: auto;
    border: 0;
    color: #fff;
    content: "!";
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    transform: none;
}

@keyframes server-flash-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes server-flash-fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes server-flash-card-in {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

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

button,
input {
    font: inherit;
}

.phone-viewport {
    --scale: 1;
    position: relative;
    display: flex;
    justify-content: center;
    min-height: var(--page-height);
    overflow: hidden;
    background: #f7fbf9;
}

.phone-stage {
    position: relative;
    flex: 0 0 750px;
    width: 750px;
    height: var(--page-height);
    overflow: hidden;
    background: #f9fffc;
    transform-origin: top left;
}

.figma-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

/* 余额页：外壳背景与背景图(近白)对齐，消除上下色差 */
body:has(.page-balance),
.phone-viewport:has(.page-balance) {
    background: #ffffff;
}
.phone-stage.page-balance {
    background: #ffffff;
}

/* 下载页：外壳背景与背景图渐变底色(#EFFAF4)对齐，消除页面下方色差 */
html:has(.page-download),
body:has(.page-download),
.phone-viewport:has(.page-download) {
    background: #effaf4;
}

@media (max-width: 750px) {
    .phone-viewport {
        justify-content: flex-start;
        /* 高度由 app.js 按 --page-height × --scale 动态设定；min-height 归零避免旧内核回退到未缩放高度 */
        min-height: 0;
    }

    .phone-stage {
        position: absolute;
        left: 0;
        top: 0;
        transform: scale(var(--scale));
    }
}

.brand {
    position: absolute;
    left: 157px;
    top: 88px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.brand-compact {
    left: 32px;
    top: 50px;
    gap: 28px;
}

.logo-wrap {
    position: relative;
    display: block;
    width: 140px;
    height: 140px;
    overflow: hidden;
}

.brand-compact .logo-wrap {
    width: 84px;
    height: 84px;
}

.logo-wrap .logo-bg,
.logo-wrap .logo-symbol {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.logo-wrap .logo-symbol {
    left: .17%;
    top: 4.4%;
    right: auto;
    bottom: auto;
    width: 97.5%;
    height: 95.6%;
}

.brand strong {
    display: block;
    font-size: 66px;
    line-height: 1.05;
    letter-spacing: 0;
}

.brand em {
    display: block;
    margin-top: 18px;
    color: #445269;
    font-size: 28px;
    font-style: normal;
}

.brand-compact strong {
    font-size: 46px;
}

.brand-compact em {
    margin-top: 8px;
    color: #7a838a;
    font-size: 26px;
}

.support-btn {
    position: absolute;
    right: 32px;
    top: 61px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 159px;
    height: 62px;
    border: 1.5px solid #e1e8e4;
    border-radius: 10px;
    background: #fff;
    color: #009e5a;
    font-size: 28px;
    font-weight: 800;
}

.support-btn img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.bottom-nav {
    position: fixed;
    z-index: 1000;
    left: 50%;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    transform: translateX(-50%);
    width: 750px;
    height: calc(146px + env(safe-area-inset-bottom));
    padding-top: 30px;
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255, 255, 255, .96);
}

.nav-item {
    --fill-0: #8b9094;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: var(--fill-0);
    font-size: 26px;
    line-height: 1;
}

.nav-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
}

.nav-icon svg {
    display: block;
    width: 48px;
    height: 48px;
}

.nav-products .nav-icon svg {
    width: 38px;
    height: 38px;
}

.nav-item.active {
    --fill-0: #00a65a;
    font-weight: 800;
}

@media (max-width: 750px) {
    .bottom-nav {
        width: 100vw;
        height: calc(19.4667vw + env(safe-area-inset-bottom));
        padding-top: 4vw;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .nav-item {
        gap: .6667vw;
        font-size: 3.4667vw;
    }

    .nav-icon,
    .nav-icon svg {
        width: 6.4vw;
        height: 6.4vw;
    }

    .nav-products .nav-icon svg {
        width: 5.0667vw;
        height: 5.0667vw;
    }
}

.topbar {
    position: absolute;
    left: 0;
    top: 0;
    width: 750px;
    height: 132px;
}

.topbar h1 {
    margin: 0;
    padding-top: 55px;
    text-align: center;
    font-size: 38px;
    line-height: 1;
}

.back-link {
    position: absolute;
    left: 32px;
    top: 52px;
    width: 42px;
    height: 42px;
    border-left: 7px solid #101828;
    border-bottom: 7px solid #101828;
    transform: rotate(45deg);
}

.topbar .support-btn {
    top: 37px;
}

.hero-card,
.products-banner {
    position: absolute;
    left: 32px;
    top: 180px;
    width: 686px;
    height: 369px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(116deg, #effbf5, #ddf3ea);
}

.hero-track {
    display: flex;
    height: 100%;
    transition: transform .4s ease;
}

.hero-slide {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    overflow: hidden;
}

.hero-slide-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-slide-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.hero-slide-placeholder span {
    color: #7a8a83;
    font-size: 30px;
    letter-spacing: 4px;
}

.hero-card h1,
.products-banner h1 {
    margin: 62px 0 0 27px;
    color: #006b3e;
    font-size: 42px;
    line-height: 1.2;
}

.hero-card p {
    display: grid;
    grid-template-columns: 110px 110px;
    gap: 26px 10px;
    margin: 60px 0 0 27px;
    color: #1f2b2a;
    font-size: 23px;
}

.hero-card p span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.hero-card p img {
    width: 24px;
    height: 24px;
}

.products-banner > img,
.detail-top > img {
    position: absolute;
    right: -18px;
    top: 35px;
    width: 358px;
    height: 290px;
    object-fit: contain;
    opacity: .95;
}

.hero-visual {
    position: absolute;
    left: 360px;
    top: 46px;
    width: 358px;
    height: 305px;
}

.hero-visual img {
    position: absolute;
    max-width: none;
    pointer-events: none;
}

.hero-visual .fade {
    opacity: .3;
}

.h-city-a { left: 36px; top: 54px; width: 57px; height: 163px; }
.h-city-b { left: 94px; top: 14px; width: 56px; height: 184px; }
.h-city-c { left: 200px; top: 34px; width: 46px; height: 200px; }
.h-base { left: 0; top: 242px; width: 358px; height: 63px; }
.h-ring { left: 66px; top: 102px; width: 120px; height: 111px; }
.h-bridge { left: 19px; top: 158px; width: 288px; height: 134px; }
.h-chart-bg { left: 6px; top: 19px; width: 293px; height: 233px; }
.h-coin-bar { left: 46px; top: 259px; width: 84px; height: 14px; }
.h-coin { left: 50px; top: 198px; width: 64px; height: 73px; }
.h-bars { left: 170px; top: 269px; width: 66px; height: 10px; }
.h-stack { left: 174px; top: 239px; width: 57px; height: 37px; }
.h-arrow-fill { left: 216px; top: 185px; width: 88px; height: 81px; }
.h-arrow-base { left: 223px; top: 156px; width: 77px; height: 110px; }
.h-foreground { left: 90px; top: 89px; width: 109px; height: 98px; }
.h-panel { left: 0; top: 98px; width: 314px; height: 150px; }
.h-line { left: 5px; top: 20px; width: 256px; height: 178px; }
.h-arrow { left: 247px; top: 0; width: 46px; height: 42px; }

.dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 1;
    display: flex;
    gap: 18px;
    transform: translateX(-50%);
}

.dots i {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #b8c3be;
}

.dots i.active {
    background: #00a864;
}

.quick-row {
    position: absolute;
    left: 32px;
    top: 571px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 686px;
    height: 211px;
    padding-top: 31px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
}

.quick-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    font-size: 27px;
    font-weight: 800;
}

.quick-icon img {
    width: 94px;
    height: 94px;
    object-fit: contain;
}

.invite-topbar {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    width: 750px;
    height: 132px;
}

.invite-topbar h1 {
    margin: 0;
    padding-top: 73px;
    color: #101828;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.invite-topbar .back-link {
    top: 73px;
}

.invite-record {
    position: absolute;
    right: 32px;
    top: 70px;
    display: grid;
    place-items: center;
    width: 132px;
    height: 48px;
    border: 1.6px solid #b7d7cd;
    border-radius: 30px;
    background: #f8fffc;
    color: #0fb073;
    font-size: 24px;
    font-weight: 800;
}

.invite-hero,
.invite-methods {
    position: absolute;
    z-index: 1;
    left: 32px;
    width: 686px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 4px 24px rgba(18, 32, 51, .06);
}

.invite-hero {
    top: 162px;
    height: 359px;
    border: 1.5px solid #fff;
    background: linear-gradient(142deg, #ecfff8 1%, #f9fffc 50%, #fff 99%);
    overflow: hidden;
}

.invite-hero-art {
    position: absolute;
    left: 22px;
    top: 42px;
    width: 245px;
    height: 152px;
}

.invite-hero-art img {
    position: absolute;
    display: block;
}

.invite-gift {
    left: 0;
    top: 0;
    width: 245px;
    height: 135px;
}

.invite-coin-a {
    left: 181px;
    top: 109px;
    width: 59px;
    height: 26px;
}

.invite-coin-b {
    left: 49px;
    top: 98px;
    width: 51px;
    height: 39px;
}

.invite-share-badge {
    left: 100px;
    top: 64px;
    width: 98px;
    height: 98px;
}

.invite-share-network {
    left: 127px;
    top: 87px;
    width: 44px;
    height: 44px;
}

.invite-stars {
    left: 175px;
    top: -16px;
    width: 35px;
    height: 33px;
}

.invite-hero h2 {
    position: absolute;
    left: 301px;
    top: 67px;
    margin: 0;
    color: #111;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.invite-hero p {
    position: absolute;
    left: 301px;
    top: 123px;
    margin: 0;
    color: #5f6664;
    font-size: 24px;
    line-height: 1.2;
    white-space: nowrap;
}

.invite-stats {
    position: absolute;
    left: 40px;
    right: 40px;
    top: 236px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.invite-stats span {
    position: relative;
    min-width: 0;
    text-align: center;
}

.invite-stats span + span:before {
    position: absolute;
    left: 0;
    top: 2px;
    width: 1px;
    height: 76px;
    background: #e8efeb;
    content: "";
}

.invite-stats em {
    display: block;
    margin-bottom: 10px;
    color: #5f6664;
    font-size: 18px;
    font-style: normal;
    line-height: 1;
    white-space: nowrap;
}

.invite-stats strong {
    color: #18c586;
    font-size: 47px;
    font-weight: 800;
    line-height: 1;
}

.invite-stats b {
    margin-left: 4px;
    color: #111;
    font-size: 20px;
    font-weight: 400;
}

.invite-methods {
    top: 557px;
    height: 422px;
    padding: 15px 15px 44px;
}

.invite-methods h2 {
    position: absolute;
    left: 15px;
    top: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #111;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.invite-methods h2 img {
    display: block;
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.invite-methods article {
    position: absolute;
    top: 68px;
    width: 208px;
    height: 310px;
    border: 1px solid #ddede8;
    border-radius: 22px;
    background: #f9fffc;
}

.invite-methods article:nth-of-type(1) {
    left: 15px;
}

.invite-methods article:nth-of-type(2) {
    left: 242px;
}

.invite-methods article:nth-of-type(3) {
    left: 463px;
}

.invite-methods article:nth-of-type(3) .invite-method-icon {
    left: 24px;
}

.invite-methods article:nth-of-type(3) h3,
.invite-methods article:nth-of-type(3) p {
    left: 88px;
}

.invite-method-icon {
    position: absolute;
    left: 18px;
    top: 18px;
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
}

.invite-method-icon img {
    position: absolute;
    display: block;
}

.invite-method-icon > img:first-child,
.method-circle {
    inset: 0;
    width: 60px;
    height: 60px;
}

.method-mark {
    left: 13px;
    top: 13px;
    width: 35px;
    height: 35px;
}

.qr-mark {
    left: 15px;
    top: 13px;
    width: 30px;
    height: 35px;
}

.invite-methods h3 {
    position: absolute;
    left: 82px;
    top: 23px;
    margin: 0;
    color: #111;
    font-size: 20px;
    font-weight: 800;
    white-space: nowrap;
}

.invite-methods article p {
    position: absolute;
    left: 82px;
    top: 55px;
    margin: 0;
    color: #5f6664;
    font-size: 16px;
    white-space: nowrap;
}

.invite-link-text,
.invite-code {
    position: absolute;
    left: 15px;
    top: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 183px;
    height: 91px;
    border: 1px solid #e8f0ed;
    border-radius: 10px;
    background: #fff;
}

.invite-link-text {
    justify-content: flex-start;
    padding: 0 11px;
    color: #111;
    font-size: 14px;
    line-height: 17px;
    word-break: break-all;
}

.invite-code {
    border: 2px dashed #bfefdd;
    color: #18c586;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: 1px;
}

.invite-qr {
    position: absolute;
    left: 50%;
    top: 84px;
    width: 128px;
    height: 128px;
    transform: translateX(-50%);
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #e8f0ed;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.invite-qr canvas,
.invite-qr img {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.invite-methods button {
    position: absolute;
    left: 50%;
    bottom: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 164px;
    height: 48px;
    border: 0;
    border-radius: 50px;
    background: linear-gradient(101deg, #59ddb1 1%, #05b96f 99%);
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    transform: translateX(-50%);
}

.invite-methods button img {
    display: block;
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
}

.invite-rewards {
    position: absolute;
    z-index: 1;
    left: 32px;
    top: 1025px;
    width: 686px;
}

.ir-block {
    position: relative;
    margin-top: 32px;
}

.ir-block:first-child {
    margin-top: 0;
}

.ir-tab {
    position: relative;
    z-index: 1;
    width: 462px;
    height: 56px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px 30px 0 0;
    background: linear-gradient(179deg, #fec62e 5%, #ffab0a 95%);
    color: #fff;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
}

.ir-card {
    width: 686px;
    padding: 30px 22px;
    border: 5px solid #a2ed7c;
    border-radius: 20px;
    background: #fff8e8;
    color: #171717;
    font-size: 24px;
    line-height: 1.5;
}

.ir-card > p {
    margin: 0 0 16px;
}

.ir-card > p:last-child {
    margin-bottom: 0;
}

.ir-lead {
    color: #000;
}

.ir-label-plain {
    color: #171717;
}

.ir-label {
    color: #f3a000;
}

.ir-tag {
    color: #f3a000;
}

.ir-indent {
    padding-left: 24px;
}

.ir-para {
    text-indent: 2em;
}

.asset-card {
    position: absolute;
    left: 32px;
    top: 805px;
    width: 686px;
    height: 219px;
    padding: 48px 20px;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(106deg, #0b995a, #008d4c);
    color: #fff;
}

.asset-card span {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 29px;
    font-weight: 800;
}

.asset-eye-btn {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.asset-card .asset-eye {
    position: static;
    width: 40px;
    height: 40px;
    opacity: 1;
}

.asset-card strong {
    display: block;
    margin-top: 8px;
    font-size: 72px;
    line-height: 1;
}

.asset-card a {
    position: absolute;
    right: 26px;
    top: 77px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 190px;
    height: 64px;
    padding: 15px 30px;
    border-radius: 32px;
    background: #fff;
    color: #101418;
    font-size: 27px;
    font-weight: 800;
}

.asset-card a:after {
    content: "";
    width: 18px;
    height: 18px;
    border-top: 5px solid currentColor;
    border-right: 5px solid currentColor;
    transform: rotate(45deg);
}

.asset-card .asset-shield {
    position: absolute;
    left: 475px;
    top: 19px;
    width: 180px;
    height: 180px;
    opacity: 1;
    cursor: pointer;
}

.recommend {
    position: absolute;
    left: 32px;
    top: 1039px;
    width: 686px;
    height: 506px;
    padding: 28px 20px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
}

.recommend header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.recommend-empty {
    padding: 40px 0;
    text-align: center;
    color: #9ca3af;
    font-size: 26px;
}

.recommend h2 {
    margin: 0;
    font-size: 33px;
}

.recommend header a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #7a838a;
    font-size: 24px;
}

.recommend header a:after {
    content: "";
    width: 14px;
    height: 14px;
    border-top: 4px solid currentColor;
    border-right: 4px solid currentColor;
    transform: rotate(45deg);
}

.product-card {
    position: relative;
    display: grid;
    grid-template-columns: 130px 1fr 164px;
    gap: 12px;
    min-height: 181px;
    margin-bottom: 20px;
    padding: 20px 18px 18px 12px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: #fff;
}

.product-hit {
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* 下线产品：置灰展示、不可点击进入 */
.product-card.is-offline {
    filter: grayscale(0.85);
    opacity: 0.62;
}
.product-card.is-offline .product-hit {
    z-index: 2;
}

/* 热门角标 */
.product-hot-badge {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #ff7a45, #ff4d4f);
    border-radius: 20px 0 16px 0;
}

.badge.points-req {
    background: #fff3e6;
    color: #d4820a;
}

/* 产品详情：下线置灰 */
.detail-top.is-offline,
.product-rules.is-offline,
.pay-card.is-offline {
    filter: grayscale(0.7);
    opacity: 0.8;
}
.pay-btn.is-disabled {
    background: #c7cdd6 !important;
    color: #fff !important;
    cursor: not-allowed;
}

.product-icon {
    display: grid;
    place-items: center;
    width: 130px;
    height: 130px;
    border-radius: 20px;
    background: linear-gradient(136deg, #30e0c7, #02adad);
}

.product-icon.blue {
    background: linear-gradient(136deg, #59a7ff, #006afd);
}

.product-icon.orange {
    background: linear-gradient(136deg, #ffd66d, #ff7900);
}

.product-icon.figma-icon {
    background: none;
}

.product-icon img {
    width: 90px;
    height: 90px;
    object-fit: contain;
}

.product-icon.figma-icon img {
    width: 130px;
    height: 130px;
}

.product-main h3 {
    margin: 0 0 12px;
    font-size: 20px;
}

.badges {
    position: absolute;
    left: 313px;
    top: 21px;
    display: flex;
    gap: 5px;
}

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    height: 24px;
    padding: 3px 8px;
    border: 1px solid #bcebd6;
    border-radius: 5px;
    background: #f5fffa;
    color: #009e5a;
    font-size: 15px;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.badge.online,
.badge.offline {
    position: relative;
    padding-left: 18px;
}

.badge.online:before,
.badge.offline:before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    transform: translateY(-50%);
}

.badge.offline {
    border-color: #e0e5e8;
    background: #fafafa;
    color: #7a838a;
}

.zone-blue {
    border-color: #c9e1ff;
    color: #1474f2;
    background: #eaf3ff;
}

.zone-green {
    background: #e7faf0;
}

.zone-orange {
    border-color: #ff7900;
    color: #ff7900;
    background: #fff0e1;
}

.product-main p {
    margin: 0 0 22px;
    color: #17315c;
    font-size: 16px;
    font-weight: 800;
}

.product-main dl {
    display: grid;
    grid-template-columns: 92px 106px 100px;
    gap: 0;
    margin: 0;
}

.product-main span {
    position: relative;
    display: block;
}

.product-main dl > span + span {
    padding-left: 20px;
}

.product-main dl > span + span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5px;
    height: 46px;
    background: #e1e9e5;
}

.product-main dt {
    color: #718198;
    font-size: 16px;
    white-space: nowrap;
}

.product-main dd {
    margin: 8px 0 0;
    color: #0f2a55;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
}

.product-main dd .detail-days {
    color: #e2372f;
    font-style: normal;
}

.product-side {
    border-left: 1px solid #e8efeb;
    text-align: center;
}

.product-side span {
    display: block;
    color: #7a838a;
    font-size: 22px;
}

.product-side strong {
    display: block;
    margin: 14px 0 12px;
    color: #009e5a;
    font-size: 36px;
}

.product-side strong.blue {
    color: #1474f2;
}

.product-side strong.orange {
    color: #ff7900;
}

.product-side a {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 40px;
    border-radius: 20px;
    background: #009e5a;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
}

.product-icon.blue + .product-main + .product-side a {
    background: linear-gradient(109deg, #4fa2ff, #1974f5);
}

.product-icon.orange + .product-main + .product-side a {
    background: #ff7900;
}

.auth-brand {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

.auth-brand a,
.auth-brand button {
    pointer-events: auto;
}

.auth-decor,
.auth-footer-base,
.auth-footer-wave {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.auth-left-chart {
    left: -6px;
    top: 263px;
    width: 145px;
    height: 148px;
}

.auth-right-city {
    right: 28px;
    top: 19px;
    width: 92px;
    height: 345px;
}

.auth-footer-wave {
    left: -2px;
    top: 1518px;
    width: 754px;
    height: 108px;
}

.auth-footer-base {
    left: 1px;
    top: 1475px;
    width: 754px;
    height: 197px;
}

.auth-brand .brand {
    left: 157px;
    top: 88px;
}

.auth-brand h1 {
    position: absolute;
    top: 275px;
    left: -8px;
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 58px;
}

.auth-tags {
    position: absolute;
    top: 387px;
    left: 118px;
    display: flex;
    gap: 36px;
    color: #32435c;
    font-size: 28px;
}

.auth-brand i {
    position: absolute;
    left: 324px;
    top: 443px;
    width: 82px;
    height: 6px;
    border-radius: 6px;
    background: #10b86b;
}

.auth-card {
    position: absolute;
    z-index: 3;
    left: 52px;
    top: 500px;
    width: 646px;
    min-height: 780px;
    padding: 51px 49px 32px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: linear-gradient(142deg, #fff, #fcfffd);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.auth-field {
    display: flex;
    align-items: center;
    width: 548px;
    height: 80px;
    margin-bottom: 26px;
    padding: 0 24px 0 20px;
    border: 2px solid #e8efeb;
    border-radius: 15px;
    background: #fff;
}

.auth-field-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 44px;
    flex: 0 0 36px;
    margin-right: 17px;
}

.auth-field-icon img {
    display: block;
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.auth-field input {
    width: 100%;
    border: 0;
    outline: 0;
    color: #122033;
    font-size: 29px;
}

.auth-field input::placeholder {
    color: #98a0b0;
}

.eye-toggle {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
}

.eye-toggle img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.eye-toggle .eye-visible {
    display: none;
}

.eye-toggle.is-visible .eye-hidden {
    display: none;
}

.eye-toggle.is-visible .eye-visible {
    display: block;
}

.captcha b {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 200px;
    width: 200px;
    height: 70px;
    color: #009c58;
    font-size: 36px;
    font-weight: 800;
    overflow: hidden;
    border-radius: 8px;
    background: #f5faf8;
    cursor: pointer;
}

.auth-register-card .captcha {
    margin-bottom: 50px;
    padding-right: 8px;
}

.captcha input {
    min-width: 0;
}

.captcha b img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.primary-btn,
.outline-btn,
.pay-btn {
    width: 548px;
    height: 80px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(90deg, #12bb6f, #009b58);
    color: #fff;
    font-size: 32px;
    font-weight: 800;
}

.outline-btn {
    margin-top: 32px;
    border: 2.5px solid #00975a;
    background: #fff;
    color: #008b4f;
}

/* 提交中：禁止再次点击，给出处理中观感（防重复提交） */
.primary-btn.is-loading {
    opacity: .6;
    pointer-events: none;
}

.auth-register-card .primary-btn {
    margin-left: 0;
}

.auth-note {
    margin: 30px 0 22px;
    color: #a0a8b6;
    text-align: center;
    font-size: 24px;
}

.auth-register-card .auth-note {
    position: absolute;
    top: 624px;
    left: 0;
    width: 100%;
    margin: 0;
}

.auth-agree {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
    color: #283241;
    font-size: 24px;
    line-height: 30px;
}

.auth-register-card .auth-agree {
    position: absolute;
    left: 22px;
    top: 709px;
    width: 604px;
    margin: 0;
}

.auth-agree label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.auth-register-card .auth-agree label {
    gap: 6px;
}

.auth-agree input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.auth-checkbox {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 29.5px;
    height: 29.5px;
    flex: 0 0 29.5px;
}

.auth-checkbox::after {
    position: absolute;
    left: 9px;
    top: 5px;
    width: 9px;
    height: 15px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    content: "";
    opacity: 0;
    transform: rotate(45deg);
}

.auth-checkbox svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.auth-agree input:checked + .auth-checkbox {
    --fill-0: #00a760;
    --stroke-0: #00a760;
}

.auth-agree input:checked + .auth-checkbox::after {
    opacity: 1;
}

.agree-copy {
    display: inline-block;
    white-space: nowrap;
}

.auth-agree a {
    color: #008b4f;
    font-weight: 400;
    cursor: pointer;
}

.auth-agree > span a {
    font-weight: 800;
}

.auth-toast {
    position: fixed;
    z-index: 30;
    left: 50%;
    bottom: 34px;
    max-width: min(420px, calc(100vw - 40px));
    padding: 14px 22px;
    border-radius: 999px;
    background: rgba(18, 32, 51, .92);
    color: #fff;
    font-size: 17px;
    line-height: 24px;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 16px);
    transition: opacity .18s ease, transform .18s ease;
}

.auth-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.auth-dialog {
    position: fixed;
    z-index: 29;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(18, 32, 51, .38);
}

.auth-dialog.is-visible {
    display: flex;
}

.auth-dialog-panel {
    position: relative;
    width: min(420px, 100%);
    padding: 30px 28px 26px;
    border: 1px solid #dcebe5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(18, 32, 51, .18);
    color: #243245;
}

.auth-dialog-panel h2 {
    margin: 0 44px 14px 0;
    color: #008b4f;
    font-size: 24px;
    line-height: 32px;
}

.auth-dialog-panel p {
    margin: 0 0 22px;
    color: #536174;
    font-size: 16px;
    line-height: 26px;
}

.auth-dialog-panel.is-doc {
    width: min(480px, 100%);
    max-height: 78vh;
    display: flex;
    flex-direction: column;
}

.auth-dialog-panel.is-doc > p {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 0 20px;
    padding-right: 6px;
    text-align: left;
    font-size: 14px;
    line-height: 24px;
}

.privacy-doc h4 {
    margin: 16px 0 8px;
    color: #243245;
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
}

.privacy-doc p {
    margin: 0 0 12px;
    color: #536174;
    font-size: 14px;
    line-height: 24px;
}

.privacy-doc ul {
    margin: 0 0 12px;
    padding-left: 20px;
    list-style: disc;
}

.privacy-doc ul ul {
    margin: 6px 0 6px;
    list-style: circle;
}

.privacy-doc li {
    margin: 4px 0;
    color: #536174;
    font-size: 14px;
    line-height: 22px;
}

.privacy-doc .privacy-doc-note {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e5efe9;
    color: #7a8794;
    font-size: 13px;
}

.auth-dialog-close {
    position: absolute;
    right: 18px;
    top: 16px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #eef8f4;
    color: #008b4f;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.auth-dialog-confirm {
    width: 100%;
    height: 48px;
    border-radius: 10px;
    font-size: 18px;
}

.auth-service {
    position: absolute;
    left: 269px;
    top: 1325px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 212px;
    height: 56px;
    border: 1.5px solid #e2ede8;
    border-radius: 30px;
    background: linear-gradient(180deg, #fff 1.4%, #f4f7f5 98.6%);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
    font-size: 28px;
    cursor: pointer;
    user-select: none;
    transition: transform .16s ease, box-shadow .16s ease;
    -webkit-tap-highlight-color: transparent;
}

.auth-service img {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    object-fit: contain;
}

.auth-service:active,
.auth-service.is-clicked {
    transform: scale(.96);
    box-shadow: 0 2px 3px rgba(0, 0, 0, .08);
}

.trust-footer {
    position: absolute;
    z-index: 2;
    left: 66px;
    top: 1556px;
    display: flex;
    gap: 0;
    width: 648px;
    height: 36px;
    color: #334356;
    font-size: 25px;
}

.trust-footer span {
    position: absolute;
    top: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.trust-footer span:nth-child(1) {
    left: 0;
}

.trust-footer span:nth-child(2) {
    left: 237px;
}

.trust-footer span:nth-child(3) {
    left: 475px;
}

.trust-footer img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.auth-beian {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 1604px;
    width: 750px;
    box-sizing: border-box;
    padding: 0 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    color: #8794a6;
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
}

.auth-beian a {
    color: #8794a6;
    text-decoration: none;
}

.auth-beian a:active {
    color: #12a55f;
}

.page-download .download-back {
    position: absolute;
    z-index: 3;
    left: 24px;
    top: 52px;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 16px rgba(18, 32, 51, .12);
}

.page-download .download-back i {
    width: 20px;
    height: 20px;
    margin-left: 5px;
    border-left: 5px solid #101828;
    border-bottom: 5px solid #101828;
    border-radius: 2px;
    transform: rotate(45deg);
}

/* 返回按钮存在时，右移紧邻的品牌 logo，避免重叠 */
.download-back + .brand-compact {
    left: 108px;
}

.download-actions {
    position: absolute;
    left: 35.5px;
    top: 241px;
    display: grid;
    gap: 14px;
}

.download-action {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: 32px 22px;
    column-gap: 12px;
    align-items: center;
    width: 340px;
    height: 84px;
    padding: 14px 48px 12px 14px;
    border: 1px solid #d8ece3;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.download-action:after {
    content: "";
    position: absolute;
    right: 20px;
    top: 26px;
    width: 24px;
    height: 24px;
    border-top: 6px solid currentColor;
    border-right: 6px solid currentColor;
    transform: rotate(45deg);
    color: #009c58;
}

.download-action.active {
    border: 1px solid #d8ece3;
    background: #fff;
}

.download-action.active:after {
    color: #009c58;
}

.download-action img {
    grid-row: 1 / 3;
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.download-action strong {
    align-self: end;
    font-size: 24px;
    line-height: 1;
}

.download-action em {
    align-self: start;
    color: #5f6e78;
    font-size: 14px;
    font-style: normal;
    line-height: 1.35;
    white-space: nowrap;
}

.download-action.active em {
    color: #5f6e78;
}

.download-phones {
    position: absolute;
    left: 403px;
    top: 220px;
    width: 320px;
    height: 421px;
}

.download-phones img {
    position: absolute;
}

.phone-shadow {
    left: -46.5px;
    top: 346.4px;
    width: 366.7px;
    height: 85.6px;
}

.phone-a {
    left: 0;
    top: 0;
    width: 172px;
    height: 386px;
}

.screen-a {
    left: 12px;
    top: 21px;
    width: 145px;
    height: 332px;
    border-radius: 25px;
    object-fit: cover;
}

.phone-b {
    left: 126px;
    top: 63px;
    width: 144px;
    height: 323.16px;
}

.screen-b {
    left: 136.05px;
    top: 80.58px;
    width: 121.3px;
    height: 278.18px;
    border-radius: 25px;
    object-fit: cover;
}

.feature-strip {
    position: absolute;
    left: 35.5px;
    top: 554px;
    display: grid;
    grid-template-columns: repeat(4, 68px);
    gap: 12px;
    width: auto;
}

.feature-item {
    position: relative;
    display: grid;
    justify-items: center;
    width: 68px;
    padding-top: 73px;
    text-align: center;
}

.feature-item:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #f1fbf6;
    border: 1px solid #d8ece3;
}

.feature-item img {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 1;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.feature-item b {
    color: #111;
    font-size: 15px;
    line-height: 1.1;
    white-space: nowrap;
}

.feature-item span {
    margin-top: 8px;
    color: #5e6c72;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
}

.download-grid {
    position: absolute;
    left: 32px;
    top: 735px;
    display: grid;
    grid-template-columns: repeat(4, 162px);
    justify-content: space-between;
    width: 686px;
}

.download-grid article {
    width: 162px;
    height: 210px;
    padding: 25px 10px 18px;
    border: 1px solid #d8ece3;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.download-grid img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.download-grid b {
    display: block;
    margin: 18px 0 12px;
    font-size: 20px;
    line-height: 1;
}

.download-grid span {
    color: #66737a;
    font-size: 14px;
    line-height: 1.8;
    white-space: nowrap;
}

.download-service {
    position: absolute;
    left: 35.5px;
    top: 994px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 686px;
    height: 100px;
    padding: 25px 18px;
    border: 1px solid #d8ece3;
    border-radius: 10px;
    background: #fff;
}

.download-service span {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 10px;
    align-items: center;
}

.download-service span + span:before {
    content: "";
    position: absolute;
    left: -9px;
    top: 3px;
    width: 1px;
    height: 42px;
    background: #e8efeb;
}

.download-service img {
    grid-row: span 2;
    width: 48px;
    height: 48px;
}

.download-service b {
    font-size: 16px;
    line-height: 1.2;
    white-space: nowrap;
}

.download-service em {
    color: #66737a;
    font-size: 13px;
    font-style: normal;
    line-height: 1.2;
    white-space: nowrap;
}

.download-copy {
    position: absolute;
    left: 0;
    bottom: 42px;
    width: 100%;
    text-align: center;
}

.download-copy b {
    display: block;
    color: #073f2a;
    font-size: 30px;
}

.download-copy span {
    display: block;
    margin-top: 22px;
    color: #65767a;
    font-size: 16px;
}

.profile-head {
    position: absolute;
    left: 32px;
    top: 25px;
    width: 686px;
    height: 225px;
    border-radius: 22px;
    background: linear-gradient(128deg, #f6faf8, #dffff2);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.profile-head .logo-wrap {
    position: absolute;
    left: 37px;
    top: 59px;
    width: 116px;
    height: 116px;
    border-radius: 0 15px 15px 15px;
}

.profile-text {
    position: absolute;
    left: 191px;
    top: 63px;
    width: 276px;
}

.profile-text h1 {
    margin: 0;
    font-size: 28px;
    line-height: 1.22;
}

.verified-badge {
    position: absolute;
    left: 177px;
    top: -3px;
    display: flex;
    align-items: center;
    gap: 4px;
    height: 38px;
    padding: 0 9px 0 6px;
    border: 1px solid #b8eccc;
    border-radius: 5px;
    background: #ecfff5;
    color: #0b9f60;
    font-size: 22px;
    font-weight: 800;
    font-style: normal;
    white-space: nowrap;
}

.verified-badge img {
    width: 28px;
    height: 28px;
}

.verified-badge.is-unverified {
    border-color: #d9dde3;
    background: #f2f4f7;
    color: #98a2b3;
}

.verified-badge.is-unverified img {
    filter: grayscale(1) opacity(0.55);
}

.profile-text p {
    margin: 42px 0 0;
    font-size: 20px;
}

.profile-hero-art {
    position: absolute;
    left: 495px;
    top: 18px;
    width: 201px;
    height: 206px;
    pointer-events: none;
}

.profile-hero-art img {
    position: absolute;
    max-width: none;
    object-fit: contain;
}

.profile-hero-base {
    left: 21px;
    top: 46px;
    z-index: 1;
    width: 180px;
    height: 160px;
}

.profile-hero-shield {
    left: 48px;
    top: 0;
    z-index: 2;
    width: 111px;
    height: 129px;
}

.profile-hero-ring {
    left: 32px;
    top: 50px;
    z-index: 3;
    width: 156px;
    height: 65px;
}

.menu-card {
    position: absolute;
    left: 32px;
    top: 284px;
    width: 686px;
    padding: 25px 38px;
    border: 1px solid #d8ece3;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.menu-card a {
    display: grid;
    grid-template-columns: 54px 1fr 20px;
    column-gap: 21px;
    align-items: center;
    height: 99px;
    border-bottom: 1px solid #e8efeb;
    font-size: 30px;
}

.menu-card a:last-child {
    border-bottom: 0;
}

.menu-card i {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    overflow: hidden;
    background: transparent;
    font-style: normal;
}

.menu-card i img {
    display: block;
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.menu-card i.icon-box-green,
.menu-card i.icon-box-points {
    background: #e8fff3;
}

.menu-card i.icon-box-points {
    background: #fff7e8;
}

.menu-card i.icon-box-green img,
.menu-card i.icon-box-points img {
    width: 32px;
    height: 32px;
}

.menu-card b,
.account-card:after {
    width: 24px;
    height: 24px;
    border-top: 3px solid #777;
    border-right: 3px solid #777;
    transform: rotate(45deg);
}

.logout-btn {
    position: absolute;
    left: 32px;
    top: 1355px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 686px;
    height: 65px;
    border: 1.6px solid #ff3b30;
    border-radius: 20px;
    background: #fdf8f8;
    color: #f04438;
    font-size: 28px;
    cursor: pointer;
}

.logout-btn img {
    width: 36px;
    height: 36px;
}

.team-summary {
    position: absolute;
    left: 32px;
    top: 133px;
    width: 686px;
    height: 382px;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(89deg, #fff, #e9faf2);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.team-summary-copy {
    position: absolute;
    left: 42px;
    top: 32px;
    width: 300px;
}

.team-summary-copy span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 25px;
    line-height: 1;
}

.team-summary-copy span em {
    font-style: normal;
}

.team-summary-copy i {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 2px solid #667085;
    border-radius: 50%;
    color: #667085;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.team-summary strong {
    display: block;
    margin: 33px 0 35px;
    color: #09a85d;
    font-family: Arial, Inter, sans-serif;
    font-size: 52px;
    line-height: 1;
}

.team-summary b {
    display: block;
    margin-top: 16px;
    color: #09a85d;
    font-family: Arial, Inter, sans-serif;
    font-size: 34px;
    line-height: 1;
}

.team-hero {
    position: absolute;
    right: 49px;
    top: 23px;
    width: 257px;
    height: 244px;
    object-fit: contain;
}

.team-summary footer {
    position: absolute;
    left: 105px;
    top: 298px;
    display: flex;
    gap: 133px;
}

.team-summary footer:before {
    content: "";
    position: absolute;
    left: 238px;
    top: 5px;
    width: 1px;
    height: 65px;
    background: #d8ece3;
}

.team-summary footer span {
    display: grid;
    grid-template-columns: 54px 104px;
    grid-template-rows: 27px 36px;
    align-items: center;
    column-gap: 16px;
}

.team-summary footer i,
.team-table header b i {
    display: grid;
    grid-row: 1 / 3;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    background: #e8fff3;
    font-style: normal;
}

.team-summary footer img,
.team-table header b img {
    width: 32px;
    height: 32px;
}

.team-summary footer em {
    color: #667085;
    font-size: 23px;
    font-style: normal;
    line-height: 1;
    white-space: nowrap;
}

.team-summary footer b {
    margin: 0;
    color: #101828;
    font-size: 30px;
    line-height: 1;
}

.team-tabs {
    position: absolute;
    left: 32px;
    top: 539px;
    display: flex;
    gap: 19px;
}

.team-tabs button {
    display: grid;
    place-items: center;
    width: 122px;
    height: 58px;
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    background: #fff;
    color: #667085;
    font-size: 24px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

.team-tabs button.is-active {
    border-color: #0eba65;
    background: #e9fbed;
    color: #09a85d;
    font-weight: 800;
}

.team-table {
    position: absolute;
    left: 32px;
    top: 621px;
    width: 686px;
    height: 920px;
    border: 1px solid #d8ece3;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.team-table header,
.table-head,
.team-row {
    display: grid;
    align-items: center;
    border-bottom: 1px solid #e8efeb;
}

.team-table header {
    position: relative;
    display: block;
    height: 120px;
    padding: 0;
    font-size: 23px;
}

.team-table header b {
    position: absolute;
    left: 21px;
    top: 33px;
    display: flex;
    align-items: center;
    gap: 19px;
    font-size: 29px;
    line-height: 54px;
}

.team-table header > span {
    position: absolute;
    top: 49px;
    left: 373px;
    line-height: 1;
}

.team-performance {
    display: flex;
    gap: 10px;
}

.team-table header > .team-performance {
    left: 510px;
}

.team-table em {
    color: #09a85d;
    font-style: normal;
    font-weight: 800;
}

.table-head {
    grid-template-columns: 253px 238px 1fr;
    height: 78px;
    padding: 0 21px;
    color: #667085;
    font-size: 23px;
}

.table-head span:last-child {
    text-align: right;
}

[data-team-rows] {
    max-height: 722px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.team-row {
    grid-template-columns: 253px 238px 1fr;
    height: 112px;
    padding: 0 21px;
    font-size: 25px;
}

.team-account {
    display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 28px;
}

.team-account > img {
    width: 56px;
    height: 56px;
}

.team-account em {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 112px;
    height: 28px;
    margin-top: 8px;
    padding-left: 12px;
    border-radius: 5px;
    background: #ddf8e9;
    font-size: 17px;
    line-height: 1;
}

.team-account em img {
    width: 24px;
    height: 24px;
}

.team-row strong {
    color: #09a85d;
    font-size: 27px;
    text-align: right;
}

.products-banner {
    top: 32px;
    height: 390px;
    background: linear-gradient(116deg, #e9faf6, #bdefea);
}

.products-banner h1 {
    margin-top: 96px;
    color: #064934;
    font-size: 48px;
}

.products-banner p {
    margin: 28px 0 25px 27px;
    font-size: 28px;
}

.banner-tags {
    display: flex;
    align-items: center;
    gap: 36px;
    margin: 25px 0 0 27px;
}

.banner-tags span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #246050;
    font-size: 22px;
}

.banner-tags img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.category-tabs {
    position: absolute;
    left: 32px;
    top: 466px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 686px;
}

.category-tabs a {
    position: relative;
    justify-self: center;
    display: inline-flex;
    justify-content: center;
    color: #717b8c;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.category-tabs a.is-active {
    color: #009a78;
}

.category-tabs a.is-active:after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% + 10px);
    width: 58px;
    height: 6px;
    border-radius: 6px;
    background: #009a78;
    transform: translateX(-50%);
}

.product-list {
    position: absolute;
    left: 32px;
    top: 552px;
    width: 686px;
    bottom: 168px;
    z-index: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 24px;
}

.product-card.compact {
    width: 686px;
    grid-template-columns: 130px 1fr 170px;
}

.product-card.compact .badges {
    left: 315px;
}

.detail-top {
    position: absolute;
    left: 32px;
    top: 155px;
    display: grid;
    grid-template-columns: 130px 282px;
    column-gap: 18px;
    width: 686px;
    height: 181px;
    padding: 24px 17px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: #fff;
}

.page-product-detail .topbar .support-btn,
.page-product-points .topbar .support-btn {
    top: 47px;
}

.detail-info {
    padding-top: 0;
}

.detail-title-row {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 28px;
}

.detail-top h2 {
    margin: 0;
    font-size: 20px;
    line-height: 24px;
    white-space: nowrap;
    flex: 0 0 auto;
}

.detail-top .detail-badges {
    position: static;
    display: flex;
    gap: 5px;
    flex: 0 0 auto;
}

.detail-top p {
    margin: 18px 0 22px;
    color: #17315c;
    font-size: 16px;
    font-weight: 800;
}

.detail-top dl {
    display: flex;
    gap: 28px;
    margin: 0;
}

.detail-top dl span {
    display: block;
    color: #718198;
    font-size: 16px;
}

.detail-top dl span + span {
    padding-left: 28px;
    border-left: 1px solid #e8efeb;
}

.detail-top dt {
    margin-bottom: 8px;
}

.detail-top dd {
    margin: 0;
    color: #0f2a55;
    font-weight: 800;
}

.detail-top dl span:first-child dd {
    display: block;
    color: #009e5a;
}

.detail-top dd .detail-days {
    color: #e2372f;
    font-weight: 800;
    font-style: normal;
}

.detail-top > img {
    position: absolute;
    left: 450px;
    right: auto;
    top: -1px;
    width: 229px;
    height: 179px;
    object-fit: fill;
    opacity: 1;
}

.detail-card {
    position: absolute;
    left: 36px;
    width: 686px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: #fff;
}

.product-rules {
    top: 360px;
    height: 273px;
    padding: 0;
}

.product-rules header {
    position: absolute;
    left: 11px;
    top: 30px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #009e5a;
    font-size: 18px;
}

.product-rules header b {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #009e5a;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}

.product-rules:before {
    content: "";
    position: absolute;
    left: 284px;
    top: 50px;
    width: 1px;
    height: 202px;
    background: #e8efeb;
}

.rule-list {
    position: absolute;
    left: 11px;
    top: 86px;
    display: grid;
    gap: 22px;
}

.rule-list dl {
    display: grid;
    grid-template-columns: 34px 78px 1fr;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 18px;
}

.rule-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1.5px solid #d8e5e0;
    border-radius: 50%;
    color: #718198;
    font-style: normal;
}

.rule-icon img {
    display: block;
    object-fit: contain;
}

.rule-icon:before {
    font-size: 19px;
    line-height: 1;
}

.rule-icon.user img {
    width: 16px;
    height: 16px;
}

.rule-icon.price:before {
    content: "¥";
    font-weight: 300;
}

.rule-icon.type {
    border: 0;
}

.rule-icon.type img {
    width: 35px;
    height: 35px;
}

.rule-icon.points:before {
    content: "★";
}

.rule-list dt {
    color: #718198;
}

.rule-list dd {
    margin: 0;
    color: #0f2a55;
}

.rule-list dd em {
    color: #009e5a;
    font-style: normal;
}

.yield-table {
    position: absolute;
    left: 304px;
    top: 80px;
    display: grid;
    grid-template-columns: 62px repeat(3, 90px);
    gap: 20px 12px;
    text-align: center;
}

.yield-table span {
    align-self: center;
    color: #718198;
    font-size: 16px;
}

.yield-table b {
    display: grid;
    place-items: center;
    height: 48px;
    border: 1.5px solid #e8efeb;
    border-radius: 5px;
    color: #0f2a55;
    font-size: 15px;
    font-weight: 400;
}

.yield-table em {
    color: #009e5a;
    font-style: normal;
}

.pay-card {
    top: 687px;
    height: 306px;
    padding: 25px 18px;
}

.pay-card h2,
.notes-card h2,
.funds-card h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 24px;
    color: #17315c;
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
}

.section-icon {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #17315c;
    font-style: normal;
}

.section-icon img {
    display: block;
    object-fit: contain;
}

.section-icon.pay {
    width: 24px;
    height: 22px;
}

.section-icon.pay img {
    width: 24px;
    height: 22px;
}

.section-icon.manual img {
    width: 28px;
    height: 28px;
}

.pay-options {
    position: absolute;
    left: 22px;
    top: 76px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    width: 642px;
    margin: 0;
}

.pay-card button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    height: 82px;
    border: 1.5px solid #d5efeb;
    border-radius: 10px;
    background: #fff;
    color: #17315c;
    font-size: 20px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
    -webkit-tap-highlight-color: transparent;
}

.pay-card button.active {
    border-color: #009e5a;
    background: #e7faf0;
}

.pay-card button:active {
    transform: scale(.98);
}

.pay-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #009e5a;
    color: #fff;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.pay-icon img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.pay-icon.usdt {
    background: none;
}

.pay-icon.reinvest img {
    width: 24px;
    height: 24px;
}

.pay-card .pay-btn {
    position: absolute;
    left: 22px;
    top: 201px;
    width: 650px;
    height: 80px;
    margin: 0;
    border: 0;
    background: #018e62;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
}

.pay-card .pay-btn.is-submitted {
    background: #007c55;
}

.buy-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: rgba(0, 0, 0, .42);
}

.buy-confirm-modal.is-visible {
    display: flex;
}

.buy-modal-card {
    position: relative;
    width: 560px;
    max-width: 92%;
    box-sizing: border-box;
    padding: 56px 44px 44px;
    border-radius: 24px;
    background: #fff;
    text-align: center;
}

.buy-modal-card h2 {
    margin: 0 0 20px;
    color: #17315c;
    font-size: 40px;
    font-weight: 800;
}

.buy-modal-product {
    margin: 0 0 8px;
    color: #65748a;
    font-size: 28px;
}

.buy-modal-label {
    display: block;
    margin-bottom: 8px;
    color: #65748a;
    font-size: 26px;
}

.buy-modal-amount {
    display: block;
    margin-bottom: 32px;
    color: #00a58b;
    font-size: 60px;
    font-weight: 800;
    line-height: 1.1;
}

.buy-modal-password {
    width: 100%;
    height: 88px;
    box-sizing: border-box;
    margin-bottom: 32px;
    padding: 0 24px;
    border: 1.5px solid #d9eee5;
    border-radius: 12px;
    background: #f6fffb;
    color: #17315c;
    font-size: 30px;
    text-align: center;
}

.buy-modal-password:focus {
    border-color: #14b873;
    background: #fff;
    outline: none;
}

.buy-modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.buy-modal-actions button {
    height: 84px;
    border-radius: 12px;
    font-size: 32px;
    font-weight: 800;
    cursor: pointer;
}

.buy-modal-cancel {
    border: 2px solid #0bb192;
    background: #fff;
    color: #0bae91;
}

.buy-modal-confirm {
    border: 0;
    background: linear-gradient(90deg, #00a878, #10bfaa);
    color: #fff;
}

.notes-card {
    top: 1017px;
    height: 240px;
    padding: 22px 18px;
}

.notes-card h2 {
    margin-left: 0;
    color: #009e5a;
}

.notes-card ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.notes-card li {
    position: relative;
    min-height: 26px;
    margin: 0 0 10px;
    padding-left: 36px;
    color: #17315c;
    font-size: 15px;
    line-height: 26px;
}

.notes-card li:before {
    content: counter(list-item);
    position: absolute;
    left: 0;
    top: 1px;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #009e5a;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

.page-product-points .detail-top {
    top: 158px;
    grid-template-columns: 130px 298px;
    height: 179px;
    padding: 24px 16px;
}

.page-product-points .detail-title-row {
    width: 298px;
    gap: 18px;
    overflow: visible;
}

.page-product-points .detail-top > img {
    top: -2px;
    width: 222px;
    height: 179px;
}

.page-product-points .product-rules {
    top: 360px;
    height: 307px;
}

.page-product-points .product-rules header {
    left: 11px;
    top: 23px;
}

.page-product-points .product-rules:before {
    left: 284px;
    top: 23px;
    height: 292px;
}

.page-product-points .rule-list {
    top: 79px;
}

.page-product-points .yield-table {
    left: 304px;
    top: 80px;
    grid-template-columns: 62px repeat(3, 90px);
    gap: 20px 12px;
}

.page-product-points .yield-table b {
    height: 48px;
}

.page-product-points .pay-card {
    top: 687px;
    height: 297px;
    padding: 25px 18px;
}

.page-product-points .pay-options {
    margin: 0 4px;
}

.page-product-points .pay-card .pay-btn {
    margin-top: 0;
}

.page-product-points .notes-card {
    top: 1017px;
    height: 231px;
    padding: 15px 18px 22px 15px;
}

.page-product-points .notes-card h2 {
    gap: 0;
    margin-bottom: 14px;
}

.wallet-total {
    position: absolute;
    left: 32px;
    top: 36px;
    width: 686px;
    height: 382px;
    border: 1.5px solid #d7eee7;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(118deg, #f3fffb, #fff, #ecfbf7);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.page-funds {
    background: #f8fcfb;
}

.funds-header {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 750px;
    height: 132px;
}

.funds-header h1 {
    position: absolute;
    left: 0;
    top: 61px;
    width: 100%;
    margin: 0;
    pointer-events: none;
    color: #111827;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.funds-back {
    position: absolute;
    left: 32px;
    top: 57px;
    z-index: 3;
    display: block;
    width: 30px;
    height: 50px;
}

.funds-back img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.funds-tabs {
    position: absolute;
    left: 32px;
    top: 155px;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 686px;
    height: 66px;
    border: 1px solid #eef0f2;
    border-radius: 30px;
    background: #fff;
}

.funds-tabs button {
    position: relative;
    border: 0;
    background: transparent;
    color: #747a84;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.funds-tabs button.active {
    color: #08a85d;
    font-weight: 800;
}

.funds-tabs button.active:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 34px;
    height: 5px;
    border-radius: 5px;
    background: #08a85d;
    transform: translateX(-50%);
}

.funds-list {
    position: absolute;
    left: 32px;
    right: 32px;
    top: 304px;
    bottom: 32px;
    z-index: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding-bottom: 8px;
}

.funds-record {
    position: relative;
    width: 100%;
    height: 184px;
    flex: 0 0 auto;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(10, 31, 68, .025);
}

.funds-record[hidden] {
    display: none;
}

.funds-record-icon {
    position: absolute;
    left: 28px;
    top: 54px;
    display: block;
    width: 76px;
    height: 76px;
}

.funds-record-icon img,
.funds-record-icon i {
    position: absolute;
    display: block;
}

.funds-record-icon > img:not(.funds-icon-mark) {
    inset: 0;
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.funds-icon-bg {
    inset: 0;
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.funds-icon-mark {
    left: 6px;
    top: 6px;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.funds-record-icon.usdt-recharge .funds-icon-mark {
    left: 15px;
    top: 10px;
    width: 56px;
    height: 56px;
}

.funds-record-icon.finance-income .funds-icon-mark {
    left: 14px;
    top: 14px;
    width: 48px;
    height: 48px;
}

.funds-record-icon.points i {
    inset: 0;
    border-radius: 20px;
    background: #fff7e8;
}

.funds-record-icon.points .funds-icon-mark {
    left: 15px;
    top: 15px;
    width: 45px;
    height: 45px;
}

.funds-record h2 {
    position: absolute;
    left: 139px;
    top: 28px;
    margin: 0;
    color: #111827;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.funds-record p {
    position: absolute;
    left: 139px;
    margin: 0;
    color: #7a808a;
    font-size: 21px;
    line-height: 1;
    white-space: nowrap;
}

.funds-record p:nth-of-type(1) {
    top: 78px;
}

.funds-record p:nth-of-type(2) {
    top: 110px;
}

.funds-record p:nth-of-type(3) {
    top: 142px;
}

.funds-record strong {
    position: absolute;
    right: 22px;
    top: 75px;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 2px;
    min-width: 235px;
    font-weight: 800;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.funds-record strong.positive {
    color: #079342;
}

.funds-record strong.negative {
    color: #e0262f;
}

.funds-record strong em {
    font-size: 39px;
    font-style: normal;
}

.funds-record strong span {
    font-size: 26px;
}

.wallet-total h1 {
    position: absolute;
    left: 30px;
    top: 26px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #111827;
    font-size: 30px;
    line-height: 1;
}

.wallet-total h1 img {
    width: 38px;
    height: 38px;
}

.wallet-eye-toggle {
    position: relative;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.wallet-eye-toggle.is-hidden:after {
    content: "";
    position: absolute;
    left: 5px;
    top: 18px;
    width: 29px;
    height: 3px;
    border-radius: 999px;
    background: #64748b;
    transform: rotate(-35deg);
}

.wallet-total > strong {
    position: absolute;
    left: 30px;
    top: 78px;
    color: #008d5c;
    font-size: 48px;
    line-height: 1.1;
}

.wallet-total > p {
    position: absolute;
    left: 30px;
    top: 146px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    color: #5c677a;
    font-size: 25px;
    line-height: 1;
}

.wallet-total i,
.balance-card i {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 2px solid #64748b;
    border-radius: 50%;
    color: #64748b;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.wallet-invest {
    position: absolute;
    left: 30px;
    top: 216px;
    display: grid;
    grid-template-columns: 68px 1fr;
    grid-template-rows: 31px 37px;
    column-gap: 14px;
    width: 260px;
}

.wallet-invest img {
    grid-row: 1 / 3;
    width: 68px;
    height: 68px;
}

.wallet-invest span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #5c677a;
    font-size: 22px;
    line-height: 1;
}

.wallet-invest i {
    width: 18px;
    height: 18px;
    border-width: 1.5px;
    font-size: 14px;
}

.wallet-invest b {
    color: #111827;
    font-size: 28px;
    line-height: 1.1;
}

.wallet-total em {
    position: absolute;
    left: 30px;
    top: 314px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 173px;
    height: 34px;
    border-radius: 6px;
    background: #ddf8e9;
    color: #008d5c;
    font-size: 18px;
    font-style: normal;
    line-height: 1;
}

.wallet-total em img {
    width: 24px;
    height: 24px;
}

.wallet-art {
    position: absolute;
    left: 297px;
    top: 86px;
    width: 380px;
    height: 256px;
}

.wallet-art img {
    position: absolute;
    max-width: 100%;
}

.wallet-art-bg {
    left: 0;
    top: 0;
    width: 380px;
    height: 256px;
}

.wallet-art-arrow {
    left: 298px;
    top: -26px;
    width: 47px;
    height: 51px;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
}

.wallet-art-coins {
    left: 130px;
    top: 183px;
    width: 136px;
    height: 75px;
}

.wallet-art-shield {
    left: 250px;
    top: 136px;
    width: 120px;
    height: 136px;
}

.balance-card {
    position: absolute;
    left: 32px;
    top: 464px;
    display: grid;
    grid-template-columns: 90px 1fr 203px;
    align-items: center;
    column-gap: 34px;
    width: 686px;
    height: 145px;
    padding: 25px 17px 25px 30px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: #fff;
}

.balance-card > img {
    width: 90px;
    height: 90px;
}

.balance-card span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.balance-card strong {
    display: block;
    margin-top: 15px;
    font-size: 46px;
    line-height: 1;
}

.balance-card button,
.account-card button {
    width: 203px;
    height: 80px;
    border: 2.4px solid #009c65;
    border-radius: 10px;
    background: #fff;
    color: #009c65;
    font-size: 30px;
    font-weight: 800;
    cursor: pointer;
}

.recharge-grid {
    position: absolute;
    left: 32px;
    top: 635px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    width: 686px;
}

.recharge-grid article {
    position: relative;
    height: 335px;
    padding: 24px 18px;
    overflow: hidden;
    border: 1.5px solid #d7eee7;
    border-radius: 22px;
    background: linear-gradient(106deg, #e7faf3, #fff);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.recharge-grid article.usdt {
    background: #f9feff;
}

.recharge-mark {
    position: absolute;
    left: 19px;
    top: 18px;
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #009e5a;
    color: #fff;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
}

.recharge-mark img {
    position: absolute;
}

.usdt-mark {
    background: transparent;
}

.usdt-mark img:first-child {
    inset: 0;
    width: 88px;
    height: 88px;
}

.usdt-mark img:last-child {
    left: 18px;
    top: 20px;
    width: 53px;
    height: 49px;
}

.recharge-grid h2 {
    position: absolute;
    left: 129px;
    top: 28px;
    margin: 0;
    color: #111827;
    font-size: 30px;
    line-height: 1;
}

.recharge-grid span {
    position: absolute;
    left: 129px;
    top: 75px;
    color: #5c677a;
    font-size: 25px;
    line-height: 1.2;
    white-space: nowrap;
}

.recharge-grid .usdt span {
    width: 210px;
    left: 117px;
    top: 77px;
    font-size: 22px;
}

.recharge-grid .usdt h2 {
    left: 119px;
    top: 25px;
}

.recharge-grid .rmb span {
    left: 121px;
}

.recharge-grid .rmb h2 {
    left: 121px;
}

.recharge-grid strong {
    position: absolute;
    left: 0;
    right: 0;
    top: 122px;
    text-align: center;
    color: #008d5c;
    font-size: 42px;
    line-height: 1;
}

.recharge-grid .usdt strong {
    color: #00a1ad;
}

.recharge-grid p {
    position: absolute;
    left: 15px;
    top: 208px;
    display: flex;
    gap: 9px;
    width: 305px;
    margin: 0;
    border-top: 1px solid #d7eee7;
    padding-top: 18px;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
}

.recharge-grid p b {
    display: inline-flex;
    align-items: center;
    color: #263238;
    font-weight: 400;
}

.recharge-grid p b img {
    width: 20px;
    height: 20px;
    margin-right: 4px;
}

.recharge-grid button {
    position: absolute;
    left: 12px;
    top: 258px;
    width: 305px;
    height: 56px;
    border: 0;
    border-radius: 10px;
    background: #018e62;
    color: #fff;
    font-size: 27px;
    font-weight: 800;
    cursor: pointer;
}

.recharge-grid .usdt button {
    left: 15px;
    background: #00a1ad;
}

.account-card,
.funds-card {
    position: absolute;
    left: 32px;
    width: 686px;
    border: 1.5px solid #e8efeb;
    border-radius: 20px;
    background: #fff;
}

.account-card {
    top: 1001px;
    display: block;
    height: 145px;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
}

.balance-card button:active,
.recharge-grid button:active,
.account-card:active,
.account-card button:active {
    transform: scale(.985);
}

.account-card .account-art {
    position: absolute;
    left: 13px;
    top: 45px;
    width: 88px;
    height: 59px;
}

.account-card h2 {
    position: absolute;
    left: 116px;
    top: 31px;
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
}

.account-card em {
    display: inline-grid;
    place-items: center;
    height: 24px;
    margin-left: 14px;
    padding: 0 8px;
    border: 1px solid #9fe7c4;
    border-radius: 5px;
    background: #ecfff5;
    color: #009c65;
    font-size: 19px;
    font-style: normal;
    vertical-align: 4px;
}

.account-card p,
.account-card span {
    position: absolute;
    left: 116px;
    margin: 0;
    color: #5c677a;
    font-size: 22px;
}

.account-card p {
    top: 88px;
}

.account-card span {
    top: 99px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #445064;
    font-size: 21px;
}

.account-card span img {
    width: 24px;
    height: 24px;
}

.account-card button {
    position: absolute;
    left: 475px;
    top: 44px;
    width: 154px;
    height: 58px;
    font-size: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 0;
    line-height: 1;
}

.account-card:after {
    content: "";
    position: absolute;
    right: 24px;
    top: 61px;
    width: 24px;
    height: 24px;
    border-top: 3px solid #111827;
    border-right: 3px solid #111827;
    transform: rotate(45deg);
}

.account-page-header {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 750px;
    height: 150px;
}

.account-page-header a {
    position: absolute;
    left: 32px;
    top: 70px;
    display: block;
    width: 29px;
    height: 55px;
}

.account-page-header a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.account-page-header h1 {
    position: absolute;
    left: 174px;
    top: 73px;
    width: 240px;
    margin: 0;
    color: #111827;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.18;
    white-space: nowrap;
}

.account-page-intro {
    position: absolute;
    z-index: 1;
    left: 32px;
    top: 201px;
    margin: 0;
    color: #4b587a;
    font-size: 25px;
    line-height: 1.2;
    white-space: nowrap;
}

.account-list {
    position: relative;
    z-index: 1;
    width: 686px;
    margin: 250px auto 40px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.receive-account-card,
.account-tip-card {
    position: relative;
    width: 100%;
    border: 1.5px solid #ddedea;
    border-radius: 20px;
    background: #fff;
    box-sizing: border-box;
}

.receive-account-card {
    padding: 30px 28px;
}

.account-card-head {
    display: flex;
    align-items: center;
    gap: 22px;
}

.receive-account-card .account-method-icon {
    flex: 0 0 auto;
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.account-card-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    min-width: 0;
}

.receive-account-card h2 {
    margin: 0;
    color: #111827;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
}

.account-card-desc {
    margin: 22px 0 0;
    color: #4b587a;
    font-size: 26px;
    line-height: 1.4;
    word-break: break-all;
}

.account-realname-note {
    margin: 0 0 4px;
    color: #8a93a6;
    font-size: 24px;
    line-height: 1.4;
}

.account-bound-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 20px;
    border-radius: 22px;
    background: #ddf7ec;
    color: #079e61;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.account-bound-badge img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.account-op {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 76px;
    border-radius: 14px;
    background: #fff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.account-op img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.account-add-op {
    border: 2px solid #12b76a;
    color: #12b76a;
}

.account-delete-op {
    border: 1.5px solid #ff3b30;
    color: #ff3b30;
}

.account-tip-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 28px;
    border-color: #cdeee0;
    background: linear-gradient(99deg, #f4fffb 0%, #fff 100%);
}

.account-tip-card > img {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.account-tip-text {
    min-width: 0;
}

.account-tip-card h2 {
    margin: 0 0 10px;
    color: #10a86b;
    font-size: 31px;
    font-weight: 800;
    line-height: 1.2;
}

.account-tip-card p {
    margin: 0;
    color: #53627f;
    font-size: 23px;
    line-height: 1.4;
}

.funds-card {
    top: 1181px;
    min-height: 292px;
    padding: 32px 38px 30px;
    overflow: visible;
}

.funds-card h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 31px;
    color: #009c65;
    font-size: 28px;
    font-weight: 800;
}

.funds-title-icon {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 35px;
    flex: 0 0 28px;
}

.funds-title-icon img {
    position: absolute;
    max-width: none;
}

.funds-title-icon img:first-child {
    left: 0;
    top: 0;
    width: 28px;
    height: 35px;
}

.funds-title-icon img:last-child {
    left: 7px;
    top: 9px;
    width: 14.4px;
    height: 18.4px;
}

.funds-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    padding-left: 37px;
    padding-right: 180px;
    color: #445064;
    font-size: 20px;
    line-height: 1.4;
}

.funds-card p:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -2px;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #009c65;
    color: #fff;
    font-size: 13px;
}

.funds-card > img {
    position: absolute;
    right: 62px;
    top: 82px;
    width: 177px;
    height: 156px;
}

.realname-back {
    position: absolute;
    z-index: 3;
    left: 32px;
    top: 65px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 48px;
    -webkit-tap-highlight-color: transparent;
}

.realname-back img {
    width: 24px;
    height: 48px;
    object-fit: contain;
}

.realname-title {
    position: absolute;
    left: 0;
    top: 65px;
    z-index: 2;
    width: 100%;
    margin: 0;
    color: #111827;
    text-align: center;
    font-size: 38px;
    font-weight: 800;
    line-height: 48px;
}

.realname-hero {
    position: absolute;
    left: 32px;
    top: 155px;
    width: 686px;
    height: 365px;
    border: 1px solid #dcefe5;
    border-radius: 22px;
    background: linear-gradient(116deg, #fff 1%, #e9fbf2 99%);
    overflow: hidden;
}

.realname-hero-shield {
    position: absolute;
    left: 24px;
    top: 52px;
    width: 93px;
    height: 108px;
}

.realname-hero-check {
    position: absolute;
    left: 70px;
    top: 105px;
    width: 76px;
    height: 76px;
}

.realname-hero h2 {
    position: absolute;
    z-index: 2;
    left: 163px;
    top: 51px;
    margin: 0;
    color: #111827;
    font-size: 46px;
    line-height: 1.2;
}

.realname-hero p {
    position: absolute;
    z-index: 2;
    left: 167px;
    top: 124px;
    margin: 0;
    color: #5b6577;
    font-size: 22px;
    line-height: 1.2;
}

.realname-hero-card-art {
    position: absolute;
    z-index: 0;
    left: 409px;
    top: 68px;
    width: 292px;
    height: 158px;
    object-fit: contain;
}

.realname-hero-benefit {
    position: absolute;
    top: 256px;
    height: 64px;
}

.realname-hero-benefit img {
    position: absolute;
    left: 0;
    top: 0;
    width: 64px;
    height: 64px;
}

.realname-hero-benefit strong,
.realname-hero-benefit span {
    position: absolute;
    left: 87px;
    white-space: nowrap;
}

.realname-hero-benefit strong {
    top: 4px;
    color: #111827;
    font-size: 24px;
    line-height: 1.2;
}

.realname-hero-benefit span {
    top: 40px;
    color: #6b7280;
    font-size: 18px;
}

.realname-hero-benefit.security {
    left: 24px;
    width: 220px;
}

.realname-hero-benefit.rights {
    left: 254px;
    width: 360px;
}

.realname-card {
    position: absolute;
    left: 32px;
    width: 686px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
}

.realname-card header {
    position: absolute;
    left: 30px;
    top: 24px;
    display: flex;
    align-items: center;
    gap: 14px;
    height: 40px;
}

.realname-card header img {
    width: 8px;
    height: 32px;
    object-fit: cover;
}

.realname-card h2 {
    margin: 0;
    color: #111827;
    font-size: 32px;
    line-height: 40px;
}

.realname-info-card {
    top: 549px;
    height: 483px;
}

.realname-info-rows {
    position: absolute;
    left: 25px;
    top: 128px;
    width: 638px;
}

.realname-info-rows dl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 89px;
    margin: 0;
    border-bottom: 1px solid #e5e7eb;
}

.realname-info-rows dl:last-child {
    border-bottom: 0;
}

.realname-info-rows dt {
    color: #697386;
    font-size: 24px;
    font-weight: 400;
}

.realname-info-rows dd {
    margin: 0;
    color: #5b6577;
    text-align: right;
    font-size: 22px;
}

.realname-info-rows dd.passed span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 102px;
    height: 44px;
    background: url("../figma/realname-status-badge.svg") center / 100% 100% no-repeat;
    color: #07a653;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.realname-rights-card {
    top: 1061px;
    height: 433px;
}

.realname-rights-list {
    position: absolute;
    left: 26px;
    top: 92px;
    width: 638px;
}

.realname-rights-list article {
    position: relative;
    height: 122px;
    border-bottom: 1px solid #e5e7eb;
}

.realname-rights-list article:last-child {
    border-bottom: 0;
}

.realname-rights-list article > img {
    position: absolute;
    left: 0;
    top: 8px;
    width: 70px;
    height: 70px;
}

.realname-rights-list h3 {
    position: absolute;
    left: 96px;
    top: 6px;
    margin: 0;
    color: #111827;
    font-size: 26px;
    line-height: 1.25;
}

.realname-rights-list p {
    position: absolute;
    left: 96px;
    top: 46px;
    margin: 0;
    color: #5b6577;
    font-size: 22px;
    line-height: 1.35;
    white-space: nowrap;
}

.realname-bound-btn {
    position: absolute;
    left: 32px;
    top: 1543px;
    width: 686px;
    height: 75px;
    border: 0;
    border-radius: 20px;
    background: linear-gradient(90deg, #18b966, #05924e);
    color: #fff;
    font-size: 32px;
    font-weight: 800;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.realname-bound-btn:active,
.realname-back:active {
    transform: scale(.985);
}

.recharge-back {
    position: absolute;
    left: 32px;
    top: 70px;
    z-index: 2;
    width: 24px;
    height: 50px;
}

.recharge-back img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.recharge-title {
    position: absolute;
    left: 0;
    top: 74px;
    z-index: 1;
    width: 750px;
    margin: 0;
    text-align: center;
    font-size: 34px;
    line-height: 41px;
}

.recharge-balance-panel,
.recharge-amount-panel,
.recharge-transfer-panel {
    position: absolute;
    left: 32px;
    width: 686px;
    border-radius: 20px;
    background: #fff;
}

.recharge-balance-panel {
    top: 167px;
    height: 385px;
    overflow: hidden;
    border: 1px solid #d6efea;
    border-radius: 22px;
    background: linear-gradient(115deg, #f4fffc 1%, #f8fffd 42%, #effffb 99%);
}

.recharge-money-icon {
    position: absolute;
    left: 19px;
    top: 34px;
    width: 64px;
    height: 64px;
}

.recharge-balance-panel h2 {
    position: absolute;
    left: 103px;
    top: 47px;
    margin: 0;
    font-size: 28px;
    line-height: 34px;
}

.recharge-balance-panel strong {
    position: absolute;
    left: 25px;
    top: 112px;
    color: #0ba88f;
    font-size: 64px;
    line-height: 77px;
}

.recharge-balance-panel p {
    position: absolute;
    left: 34px;
    top: 220px;
    margin: 0;
    color: #59657a;
    font-size: 23px;
    line-height: 28px;
}

.recharge-safe {
    position: absolute;
    left: 34px;
    top: 321px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 122px;
    height: 34px;
    padding: 0 11px;
    border-radius: 5px;
    background: #ddf7ec;
    color: #008d5c;
    font-size: 18px;
    line-height: 1;
}

.recharge-safe img {
    width: 24px;
    height: 24px;
}

.recharge-hero {
    position: absolute;
    left: 328px;
    top: 33px;
    width: 359px;
    height: 311px;
    object-fit: contain;
}

.recharge-amount-panel {
    top: 591px;
    height: 534px;
}

.recharge-amount-panel header,
.recharge-transfer-panel header {
    position: absolute;
    left: 19px;
    top: 18px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.recharge-amount-panel header img {
    width: 48px;
    height: 48px;
}

.recharge-amount-panel h2,
.recharge-transfer-panel h2 {
    margin: 0;
    font-size: 31px;
    line-height: 38px;
}

.recharge-amount-grid {
    position: absolute;
    left: 19px;
    top: 99px;
    display: grid;
    grid-template-columns: repeat(3, 203px);
    gap: 44px 19px;
}

.recharge-amount-grid button,
.recharge-amount-grid .recharge-amount-cell {
    position: relative;
    width: 203px;
    height: 110px;
    border: 1.5px solid #e0e8ec;
    border-radius: 10px;
    background: #fff;
    color: #0e1726;
    font-size: 24px;
    font-weight: 800;
    cursor: pointer;
}

.recharge-amount-grid button.active,
.recharge-amount-grid .recharge-amount-cell.active {
    border: 2px solid #0cad92;
    background: #f2fffa;
    color: #0ba88f;
}

.recharge-amount-grid button img,
.recharge-amount-grid .recharge-amount-cell img {
    position: absolute;
    right: 0;
    top: 0;
    width: 48px;
    height: 48px;
}

.recharge-amount-panel > p {
    position: absolute;
    left: 19px;
    top: 429px;
    margin: 0;
    color: #6d7890;
    font-size: 22px;
    line-height: 35px;
}

.recharge-amount-panel > p strong {
    margin-left: 16px;
    color: #0bae91;
    font-size: 29px;
}

.recharge-amount-grid .recharge-amount-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0;
    line-height: 1;
}

.recharge-amount-grid .recharge-amount-cell b {
    display: block;
    color: inherit;
    font-size: 24px;
    line-height: 29px;
}

.recharge-amount-grid .recharge-amount-cell small {
    display: block;
    color: #666;
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
}

.recharge-amount-cell input {
    display: none;
    width: 160px;
    text-align: center;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 28px;
    font-weight: 800;
}

.recharge-amount-cell input::placeholder {
    color: #9aa6b8;
    font-weight: 400;
    font-size: 22px;
}

.recharge-amount-cell.active b,
.recharge-amount-cell.active small {
    display: none;
}

.recharge-amount-cell.active input {
    display: block;
}

.recharge-transfer-panel {
    top: 1162px;
    height: 273px;
}

.recharge-transfer-panel header i {
    position: relative;
    display: block;
    width: 48px;
    height: 48px;
}

.recharge-transfer-panel header i img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.recharge-transfer-panel header i img + img {
    left: 7px;
    top: 7px;
    width: 34px;
    height: 34px;
}

.recharge-transfer-panel label {
    position: absolute;
    left: 23px;
    top: 91px;
    display: block;
    width: 640px;
}

.recharge-transfer-panel span {
    display: block;
    margin-bottom: 42px;
    color: #172033;
    font-size: 22px;
    line-height: 27px;
}

.recharge-transfer-panel input {
    width: 640px;
    height: 86px;
    padding: 0 27px;
    border: 1.5px solid #e0e8ec;
    border-radius: 10px;
    background: #fff;
    color: #172033;
    font-size: 25px;
    outline: none;
}

.recharge-transfer-panel input::placeholder {
    color: #98a5b7;
}

.recharge-tip {
    position: absolute;
    left: 32px;
    top: 1469px;
    display: flex;
    align-items: center;
    gap: 3px;
    width: 686px;
    margin: 0;
    color: #657187;
    font-size: 18px;
    line-height: 28px;
    white-space: nowrap;
}

.recharge-tip img {
    width: 28px;
    height: 28px;
}

.recharge-bottom-actions {
    position: absolute;
    left: 32px;
    top: 1542px;
    display: grid;
    grid-template-columns: 328px 328px;
    gap: 30px;
}

.recharge-bottom-actions button {
    height: 86px;
    border-radius: 10px;
    font-size: 31px;
    font-weight: 800;
    cursor: pointer;
}

.recharge-bottom-actions .transfer {
    border: 2px solid #0bb192;
    background: #fff;
    color: #0bae91;
}

.recharge-bottom-actions .primary {
    border: 0;
    background: linear-gradient(90deg, #00a878, #10bfaa);
    color: #fff;
}

.recharge-confirm-modal {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 40px 0;
    background: rgba(0, 0, 0, .38);
}

.recharge-confirm-modal.is-visible {
    display: flex;
}

.recharge-modal-card {
    position: relative;
    width: 660px;
    max-height: calc(100% - 80px);
    margin: auto;
    overflow-y: auto;
    padding: 44px 31px 34px;
    border-radius: 20px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.recharge-modal-card h2 {
    margin: 0;
    text-align: center;
    font-size: 38px;
    line-height: 46px;
}

.recharge-modal-card > span {
    color: #65748a;
    text-align: center;
    font-size: 27px;
    line-height: 33px;
}

.recharge-modal-card > strong {
    color: #00a58b;
    text-align: center;
    font-size: 64px;
    line-height: 74px;
}

.recharge-modal-card h3 {
    margin: 0;
    font-size: 31px;
    line-height: 36px;
}

.recharge-pay-list {
    display: grid;
    gap: 19px;
}

.recharge-pay-list button {
    position: relative;
    width: 100%;
    height: 86px;
    border: 1.5px solid #e0e8ec;
    border-radius: 10px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.recharge-pay-list button.active {
    border: 2px solid #0cad92;
    background: #f2fffa;
}

.recharge-pay-list i {
    position: absolute;
    left: 13px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
}

.recharge-pay-list i img {
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.recharge-pay-list .support i {
    background: linear-gradient(180deg, #3aa2ff, #1b76e8);
}

.recharge-pay-list .bank i {
    background: linear-gradient(180deg, #ffc647, #f2a51a);
}

.recharge-pay-list .bank i img {
    width: 36px;
    height: 36px;
}

.recharge-pay-list .support i img {
    width: 36px;
    height: 36px;
}

.recharge-pay-list b {
    position: absolute;
    left: 81px;
    top: 11px;
    font-size: 24px;
    line-height: 28px;
}

.recharge-pay-list em {
    position: absolute;
    left: 81px;
    top: 52px;
    color: #6b7280;
    font-size: 20px;
    font-style: normal;
    line-height: 23px;
}

.pay-check {
    position: absolute;
    right: 15px;
    top: 24px;
    width: 38px;
    height: 38px;
    border: 2px solid #cbd7e2;
    border-radius: 50%;
}

.pay-check img {
    position: absolute;
    left: -5px;
    top: -5px;
    width: 48px;
    height: 48px;
}

.recharge-pay-list button.active .pay-check {
    border-color: transparent;
}

.recharge-modal-card > p {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: #ddf7ec;
    color: #009873;
    font-size: 22px;
    line-height: 1.4;
}

.recharge-modal-card > p img {
    width: 24px;
    height: 24px;
}

.recharge-modal-card footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 4px;
}

.recharge-modal-card footer button {
    height: 68px;
    border-radius: 10px;
    font-size: 31px;
    font-weight: 800;
    cursor: pointer;
}

.recharge-modal-card .cancel {
    border: 2px solid #0bb192;
    background: #fff;
    color: #0bae91;
}

.recharge-modal-card .recharge-submit-form {
    display: contents;
}

.recharge-modal-card .confirm {
    width: 100%;
    border: 0;
    background: linear-gradient(90deg, #00a878, #10bfaa);
    color: #fff;
}

.page-recharge-usdt {
    background: #f9fffc;
    color: #111827;
}

.page-recharge-usdt .recharge-title {
    font-weight: 800;
}

.page-recharge-usdt .recharge-back {
    left: 32px;
    top: 70px;
    width: 32px;
    height: 50px;
}

.usdt-balance-panel,
.usdt-amount-panel,
.usdt-transfer-panel {
    box-shadow: 0 18px 46px rgba(7, 138, 102, .06);
}

.usdt-token-icon {
    position: absolute;
    left: 26px;
    top: 31px;
    z-index: 2;
    width: 64px;
    height: 64px;
}

.usdt-balance-panel h2 {
    left: 103px;
    top: 50px;
    z-index: 2;
    color: #0e1726;
    font-size: 33px;
    line-height: 40px;
}

.usdt-balance-panel strong {
    left: 25px;
    top: 112px;
    z-index: 2;
    letter-spacing: 0;
}

.usdt-balance-panel p {
    left: 34px;
    top: 224px;
    z-index: 2;
}

.usdt-balance-panel em {
    position: absolute;
    left: 34px;
    top: 273px;
    z-index: 2;
    color: #6d7890;
    font-size: 22px;
    font-style: normal;
    line-height: 27px;
    white-space: nowrap;
}

.usdt-safe {
    top: 321px;
    z-index: 2;
}

.usdt-hero-figma {
    position: absolute;
    left: 328px;
    top: 33px;
    z-index: 1;
    width: 359px;
    height: 311px;
    object-fit: contain;
    pointer-events: none;
}

.usdt-amount-panel {
    height: 543px;
}

.usdt-amount-panel header img {
    width: 48px;
    height: 48px;
}

.usdt-amount-panel .recharge-amount-grid {
    top: 99px;
}

.usdt-amount-panel .recharge-amount-grid button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0;
    line-height: 1;
}

.usdt-amount-panel .recharge-amount-grid button b {
    display: block;
    color: inherit;
    font-size: 24px;
    line-height: 29px;
}

.usdt-amount-panel .recharge-amount-grid button small {
    display: block;
    color: #666;
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
}

.usdt-amount-panel .usdt-selected-summary {
    top: 411px;
    line-height: 1;
}

.usdt-amount-panel .usdt-selected-summary span {
    color: #6d7890;
    font-size: 22px;
}

.usdt-amount-panel .usdt-selected-summary strong {
    margin-left: 17px;
    color: #0bae91;
    font-size: 29px;
    line-height: 35px;
}

.usdt-amount-panel .usdt-selected-summary em {
    display: block;
    margin-top: 8px;
    color: #6d7890;
    font-size: 22px;
    font-style: normal;
    line-height: 27px;
}

.usdt-transfer-panel {
    top: 1162px;
}

.usdt-transfer-panel header i img + img {
    left: 7px;
    top: 7px;
}

.usdt-tip {
    top: 1469px;
}

.usdt-bottom-actions {
    top: 1542px;
}

.usdt-recharge-modal {
    position: absolute;
    inset: 0;
    z-index: 40;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 40px 0;
    background: rgba(0, 0, 0, .36);
}

.usdt-recharge-modal.is-visible {
    display: flex;
}

.usdt-recharge-dialog {
    position: relative;
    width: 660px;
    max-height: calc(100% - 80px);
    margin: auto;
    overflow-y: auto;
    padding: 44px 31px 34px;
    border-radius: 20px;
    background: #fff;
    color: #111827;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.usdt-recharge-dialog h2 {
    margin: 0;
    font-size: 38px;
    font-weight: 800;
    line-height: 46px;
    text-align: center;
}

.usdt-recharge-dialog > p {
    margin: 0;
    color: #65748a;
    font-size: 27px;
    line-height: 33px;
    text-align: center;
}

.usdt-chain-list {
    display: grid;
    gap: 22px;
    width: 100%;
}

.usdt-chain-list button {
    position: relative;
    width: 100%;
    height: 86px;
    padding: 0 70px 0 21px;
    border: 1.5px solid #e0e8ec;
    border-radius: 10px;
    background: #fff;
    color: #111827;
    text-align: left;
    cursor: pointer;
}

.usdt-chain-list button.active {
    border: 2px solid #0cad92;
    background: #f2fffa;
}

.usdt-chain-list span {
    display: block;
    overflow: hidden;
    font-size: 28px;
    line-height: 34px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.usdt-chain-list img {
    position: absolute;
    right: 17px;
    top: 19px;
    width: 48px;
    height: 48px;
}

.usdt-recharge-dialog footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 4px;
}

.usdt-recharge-dialog footer button {
    width: 100%;
    height: 68px;
    border-radius: 10px;
    font-size: 31px;
    font-weight: 800;
    cursor: pointer;
}

.usdt-recharge-dialog .cancel {
    border: 2px solid #0bb192;
    background: #fff;
    color: #0bae91;
}

.usdt-recharge-dialog .confirm {
    border: 0;
    background: linear-gradient(90deg, #00a878, #10bfaa);
    color: #fff;
}

.usdt-recharge-dialog .usdt-recharge-submit {
    display: block;
    width: 100%;
    height: 68px;
    margin: 0;
}

.page-balance .topbar h1 {
    padding-top: 74px;
    font-size: 36px;
    color: #111827;
}

.page-balance .back-link {
    left: 32px;
    top: 72px;
    width: 34px;
    height: 34px;
    border-left-width: 5px;
    border-bottom-width: 5px;
}

.balance-total-card {
    position: absolute;
    left: 32px;
    top: 186px;
    width: 686px;
    height: 382px;
    overflow: hidden;
    border: 1.5px solid #d7eee7;
    border-radius: 22px;
    background: linear-gradient(118deg, #f3fffb 0%, #fff 54%, #ecfbf7 100%);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .05);
}

.balance-total-label {
    position: absolute;
    left: 40px;
    top: 26px;
    margin: 0;
    color: #111827;
    font-size: 30px;
    line-height: 36px;
}

.balance-eye-toggle {
    position: absolute;
    left: 242px;
    top: 24px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.balance-eye-toggle img {
    width: 30px;
    height: 24px;
}

.balance-eye-toggle.is-hidden:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 18px;
    width: 27px;
    height: 3px;
    border-radius: 999px;
    background: #64748b;
    transform: rotate(-35deg);
}

.balance-total-card > strong {
    position: absolute;
    left: 26px;
    top: 104px;
    color: #009b61;
    font-size: 84px;
    line-height: 102px;
    white-space: nowrap;
}

.balance-rate-label,
.balance-rate-value,
.balance-rate-unit,
.balance-withdraw-label {
    position: absolute;
    color: #59637a;
    font-size: 26px;
    font-weight: 400;
    line-height: 31px;
    white-space: nowrap;
}

.balance-rate-label {
    left: 28px;
    top: 242px;
}

.balance-rate-value {
    left: 216px;
    top: 242px;
    color: #009b61;
    font-weight: 800;
}

.balance-rate-unit {
    left: 344px;
    top: 242px;
}

.balance-withdraw-label {
    left: 28px;
    top: 322px;
}

.balance-total-card > i {
    position: absolute;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 2px solid #34405f;
    border-radius: 50%;
    color: #34405f;
    font-size: 20px;
    font-style: normal;
    line-height: 1;
}

.balance-rate-info {
    left: 434px;
    top: 246px;
}

.balance-withdraw-info {
    left: 294px;
    top: 326px;
}

.balance-hero-art {
    position: absolute;
    left: 0;
    top: 0;
    width: 686px;
    height: 344px;
    pointer-events: none;
}

.balance-hero-art img {
    position: absolute;
    display: block;
    opacity: .37;
}

.balance-art-bg {
    left: 296px;
    top: 87px;
    width: 380px;
    height: 250px;
}

.balance-art-arrow {
    left: 561px;
    top: 45px;
    width: 87px;
    height: 79px;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
}

.balance-art-shield {
    left: 536px;
    top: 189px;
    width: 120px;
    height: 136px;
}

.balance-coin-a {
    left: 475px;
    top: 261px;
    width: 61px;
    height: 67px;
}

.balance-coin-b {
    left: 423px;
    top: 227px;
    width: 68px;
    height: 106px;
}

.balance-coin-c {
    left: 509px;
    top: 287px;
    width: 49px;
    height: 45px;
}

.balance-action-grid {
    position: absolute;
    left: 32px;
    top: 596px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    width: 686px;
}

.balance-action-card {
    position: relative;
    height: 336px;
    padding: 0;
    border: 1px solid #d8f0e8;
    border-radius: 22px;
    background: #fff;
    color: #111827;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.balance-action-card:active {
    transform: scale(.985);
}

.balance-action-icon {
    position: absolute;
    left: 55px;
    top: 17px;
    width: 108px;
    height: 88px;
}

.balance-action-icon > img {
    position: absolute;
    inset: 0;
    width: 88px;
    height: 88px;
    object-fit: contain;
}

.balance-action-icon > img + img {
    left: 19px;
    top: 18px;
    width: 52px;
    height: 52px;
}

.balance-action-icon em {
    position: absolute;
    right: 0;
    bottom: -1px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e8fff2;
}

.balance-action-icon em img {
    width: 34px;
    height: 34px;
}

.balance-action-card.usdt .balance-action-icon em {
    background: #e5fbff;
}

.balance-action-card b {
    position: absolute;
    left: 0;
    top: 151px;
    width: 100%;
    font-size: 32px;
    line-height: 1;
    text-align: center;
}

.balance-action-card small {
    position: absolute;
    left: 0;
    top: 214px;
    width: 100%;
    color: #59637a;
    font-size: 22px;
    line-height: 1;
    text-align: center;
}

.balance-action-card > i {
    position: absolute;
    left: 20px;
    bottom: 19px;
    display: grid;
    place-items: center;
    width: 178px;
    height: 56px;
    border-radius: 20px;
    background: #e8fff2;
    color: #0fa96b;
    font-size: 42px;
    font-style: normal;
    line-height: 1;
}

.balance-action-card.usdt > i {
    background: #e5fbff;
    color: #00a9b8;
}

.balance-note-card {
    position: absolute;
    left: 32px;
    top: 977px;
    width: 686px;
    height: 412px;
    overflow: hidden;
    border: 1px solid #d4efe7;
    border-radius: 20px;
    background: #fff;
}

.balance-note-card h2 {
    position: absolute;
    left: 35px;
    top: 44px;
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    color: #00a66a;
    font-size: 34px;
    line-height: 1;
}

.balance-note-card h2 img {
    width: 38px;
    height: 38px;
}

.balance-note-card ul {
    position: absolute;
    left: 35px;
    top: 133px;
    display: grid;
    gap: 54px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.balance-note-card li {
    display: flex;
    align-items: center;
    gap: 26px;
    color: #59637a;
    font-size: 22px;
    line-height: 1;
    white-space: nowrap;
}

.balance-note-card li img {
    width: 44px;
    height: 44px;
}

.balance-rules-art {
    position: absolute;
    left: 444px;
    top: 166px;
    width: 242px;
    height: 176px;
}

.page-withdraw-cny .topbar h1 {
    padding-top: 74px;
    font-size: 36px;
    color: #111827;
}

.page-withdraw-cny .back-link {
    left: 32px;
    top: 72px;
    width: 34px;
    height: 34px;
    border-left-width: 5px;
    border-bottom-width: 5px;
}

.withdraw-cny-overlay {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
    background: rgba(0, 0, 0, .38);
}

.withdraw-cny-overlay.is-visible {
    display: flex;
}

.withdraw-cny-modal {
    position: relative;
    width: 518px;
    max-width: 90%;
    max-height: 92%;
    box-sizing: border-box;
    padding: 40px 30px 36px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow-y: auto;
    border-radius: 20px;
    background: #fff;
}

.withdraw-cny-modal h2 {
    margin: 0;
    color: #202326;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 36px;
    font-weight: 800;
    line-height: 44px;
    text-align: center;
}

.withdraw-cny-close {
    position: absolute;
    right: 24px;
    top: 40px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.withdraw-cny-close img {
    width: 34px;
    height: 34px;
}

.withdraw-cny-modal header {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 37px;
}

.withdraw-cny-modal header i {
    width: 10px;
    height: 34px;
    border-radius: 999px;
    background: #13c56f;
}

.withdraw-cny-modal header strong {
    color: #202326;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 32px;
    line-height: 37px;
}

.withdraw-custom-field,
.withdraw-max-card,
.withdraw-pass-field {
    position: relative;
    width: 100%;
    height: 122px;
    box-sizing: border-box;
    border-radius: 10px;
}

.withdraw-pass-field {
    border: 2px solid #e3e8ee;
    background: #fff;
}

.withdraw-custom-field {
    border: 2px solid #13a85f;
    background: #fff;
}

.withdraw-custom-field span,
.withdraw-pass-field span {
    position: absolute;
    left: 19px;
    top: 15px;
    color: #202326;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 23px;
}

.withdraw-cny-modal .withdraw-pass-field input {
    position: absolute;
    left: 17px;
    top: 61px;
    width: 420px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #202326;
    font-size: 28px;
    font-weight: 800;
    line-height: 36px;
}

.withdraw-cny-modal .withdraw-pass-field input::placeholder {
    color: #a6abb1;
    opacity: 1;
}

.withdraw-custom-field input {
    position: absolute;
    left: 17px;
    top: 61px;
    width: 320px;
    height: 36px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #202326;
    font-size: 28px;
    font-weight: 800;
    line-height: 36px;
}

.withdraw-custom-field input::placeholder {
    color: #a6abb1;
    opacity: 1;
}

.withdraw-custom-field input::-webkit-outer-spin-button,
.withdraw-custom-field input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.withdraw-custom-field em {
    position: absolute;
    right: 24px;
    top: 57px;
    color: #202326;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 800;
    line-height: 46px;
}

.withdraw-max-card {
    padding: 0;
    border: 1.5px solid #b9e7cf;
    background: #f2fffa;
    cursor: pointer;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
}

.withdraw-max-card:active,
.withdraw-submit:active {
    transform: scale(.985);
}

.withdraw-max-card .bank-card-icon {
    position: absolute;
    left: 12px;
    top: 27px;
    width: 68px;
    height: 68px;
}

.withdraw-max-card b {
    position: absolute;
    left: 99px;
    top: 23px;
    color: #202326;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 24px;
    line-height: 28px;
}

.withdraw-max-card small {
    position: absolute;
    left: 99px;
    top: 71px;
    display: flex;
    align-items: center;
    color: #13a85f;
    font-size: 20px;
    font-weight: 800;
    line-height: 23px;
}

.withdraw-max-card small img {
    width: 24px;
    height: 24px;
    margin-left: -32px;
    margin-right: 8px;
}

.withdraw-max-card strong {
    position: absolute;
    right: 55px;
    top: 42px;
    color: #0fa95d;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 32px;
    line-height: 37px;
}

/* USDT 提现弹窗：单位与金额文本较长，缩小字号避免重叠/溢出 */
[data-withdraw-modal="usdt"] .withdraw-custom-field em {
    top: 66px;
    font-size: 24px;
    line-height: 30px;
}

[data-withdraw-modal="usdt"] .withdraw-custom-field input {
    width: 280px;
}

[data-withdraw-modal="usdt"] .withdraw-max-card strong {
    top: 50px;
    font-size: 22px;
    line-height: 26px;
}

.withdraw-chevron {
    position: absolute;
    right: 15px;
    top: 47px;
    width: 14px;
    height: 28px;
}

.withdraw-arrival {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    color: #8c9198;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 20px;
    line-height: 24px;
}

.withdraw-arrival img {
    width: 24px;
    height: 24px;
}

.withdraw-submit {
    width: 100%;
    height: 76px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(90deg, #18b966, #05924e);
    color: #fff;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 32px;
    font-weight: 800;
    line-height: 37px;
    cursor: pointer;
}

.page-points {
    background: #f9fffc;
}

.points-topbar {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    width: 750px;
    height: 132px;
}

.points-topbar .back-link {
    left: 32px;
    top: 63px;
    width: 30px;
    height: 42px;
    border: 0;
    transform: none;
}

.points-topbar .back-link img {
    display: block;
    width: 30px;
    height: 42px;
    object-fit: contain;
}

.points-topbar h1 {
    margin: 0;
    padding-top: 66px;
    color: #111827;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.points-summary {
    position: absolute;
    left: 32px;
    top: 154px;
    width: 686px;
    height: 419px;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(113deg, #fff 1%, #e9fbf2 99%);
}

.points-summary-copy {
    position: absolute;
    left: 43px;
    top: 43px;
}

.points-summary h2 {
    margin: 0;
    color: #111827;
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.points-summary strong {
    position: absolute;
    left: 0;
    top: 51px;
    display: block;
    margin: 0;
    color: #0aaa5a;
    font-size: 105px;
    font-weight: 800;
    line-height: 1;
}

.points-summary p {
    position: absolute;
    left: 0;
    top: 191px;
    margin: 0;
    color: #5f6778;
    font-size: 27px;
    white-space: nowrap;
}

.points-summary-art {
    position: absolute;
    left: 398px;
    top: 43px;
    width: 258px;
    height: 209px;
    object-fit: contain;
}

.points-stats {
    position: absolute;
    left: 65px;
    top: 442px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    align-items: center;
    width: 620px;
    height: 98px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
}

.points-stats:before {
    content: "";
    grid-column: 2;
    width: 1px;
    height: 65px;
    background: #dfe7e6;
}

.points-stats article {
    --stat-pad: 16px;
    position: relative;
    display: block;
    height: 98px;
    padding-left: 16px;
}

.points-stats article:first-child {
    grid-column: 1;
    grid-row: 1;
}

.points-stats article:last-child {
    --stat-pad: 39px;
    grid-column: 3;
    grid-row: 1;
}

.points-stats i {
    position: absolute;
    left: var(--stat-pad);
    top: 17px;
    display: block;
    width: 64px;
    height: 64px;
    font-style: normal;
}

.points-stats .stat-bg,
.points-stats .stat-mark {
    position: absolute;
    object-fit: contain;
}

.points-stats .stat-bg {
    inset: 0;
    width: 64px;
    height: 64px;
}

.points-stats .stat-mark.star {
    left: 8px;
    top: 8px;
    width: 48px;
    height: 48px;
}

.points-stats .stat-mark.bag {
    left: 11px;
    top: 11px;
    width: 42px;
    height: 42px;
}

.points-stats span {
    position: absolute;
    left: calc(var(--stat-pad) + 100px);
    top: 15px;
    color: #646c7d;
    font-size: 24px;
    line-height: 1;
    white-space: nowrap;
}

.points-stats strong {
    position: absolute;
    left: calc(var(--stat-pad) + 100px);
    top: 46px;
    margin: 0;
    color: #111827;
    font-size: 28px;
    line-height: 1;
}

.points-detail {
    position: absolute;
    left: 32px;
    top: 588px;
    width: 686px;
    height: 740px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
}

.points-detail > header {
    position: absolute;
    left: 23px;
    top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 640px;
}

.points-detail h2 {
    margin: 0;
    color: #111827;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
}

.points-detail header a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #7b8496;
    font-size: 24px;
    line-height: 1;
    transform: translateY(6px);
}

.points-detail header img {
    width: 15px;
    height: 30px;
    object-fit: contain;
}

.points-records {
    position: absolute;
    left: 33px;
    top: 112px;
    width: 640px;
}

.points-records article {
    position: relative;
    display: grid;
    grid-template-columns: 56px 1fr 130px;
    column-gap: 28px;
    align-items: start;
    height: 127px;
    padding-top: 0;
}

.points-records article:not(:last-child):after {
    content: "";
    position: absolute;
    left: -10px;
    top: 93px;
    width: 640px;
    height: 1px;
    background: #e8eff0;
}

.record-icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-top: 11px;
    overflow: hidden;
    border-radius: 15px;
    background: #e9fff4 url("../figma/points-row-bg.svg") center / 100% 100% no-repeat;
}

.record-icon.used {
    background: #fff7e8;
}

.record-icon img {
    display: block;
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.record-icon.full {
    background: none;
}

.record-icon.full img {
    width: 56px;
    height: 56px;
}

.record-icon.used img {
    width: 34px;
    height: 34px;
}

.points-records h3 {
    margin: 0 0 16px;
    color: #111827;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.points-records p {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #777f8f;
    font-size: 22px;
    line-height: 1;
}

.record-status {
    display: inline-grid;
    place-items: center;
    width: 63px;
    height: 26px;
    border-radius: 8px;
    background: #f1f4f3;
    color: #7b8496;
    font-size: 17px;
    line-height: 1;
}

.points-records .is-used .record-status {
    background: #fff0e8;
    color: #f04a2a;
}

.points-records strong {
    justify-self: end;
    padding-top: 20px;
    color: #0aa65a;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
    text-align: right;
}

.points-records .is-used strong {
    color: #f04a2a;
}

.points-rules {
    position: absolute;
    left: 32px;
    top: 1370px;
    width: 686px;
    height: 240px;
    overflow: hidden;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: linear-gradient(108deg, #effff7 0%, #ddf8ec 100%);
}

.points-rules header {
    position: absolute;
    left: 24px;
    top: 27px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.points-rules header img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.points-rules h2 {
    margin: 0;
    color: #111827;
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
}

.points-rules ul {
    position: absolute;
    left: 27px;
    top: 94px;
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.points-rules li {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #485160;
    font-size: 22px;
    line-height: 1;
    white-space: nowrap;
}

.points-rules li img {
    width: 10px;
    height: 10px;
    object-fit: contain;
}

.points-rules-art {
    position: absolute;
    right: 21px;
    top: 65px;
    width: 157px;
    height: 137px;
    object-fit: contain;
}

.page-lottery {
    color: #101828;
    font-family: Inter, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.lottery-topbar {
    position: absolute;
    left: -1px;
    top: -31px;
    z-index: 2;
    width: 750px;
    height: 132px;
}

.lottery-back {
    position: absolute;
    left: 33px;
    top: 73px;
    width: 24px;
    height: 50px;
}

.lottery-back img {
    display: block;
    width: 100%;
    height: 100%;
}

.lottery-topbar h1 {
    position: absolute;
    left: 299px;
    top: 65px;
    width: 152px;
    margin: 0;
    color: #101828;
    font-size: 38px;
    font-weight: 800;
    line-height: 58px;
    text-align: center;
}

.lottery-topbar button {
    position: absolute;
    left: 586px;
    top: 69px;
    width: 132px;
    height: 48px;
    padding: 0;
    border: 1.6px solid #b7d7cd;
    border-radius: 30px;
    background: #f8fffc;
    color: #0fb073;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.lottery-card {
    position: absolute;
    left: 32px;
    width: 686px;
    height: 556px;
    overflow: hidden;
    border: 1.5px solid #e2f2ec;
    border-radius: 20px;
    background: linear-gradient(130deg, #fff 1%, #f4fffb 99%);
}

.lottery-card.public {
    top: 166px;
}

.lottery-card.exclusive {
    top: 755px;
}

.lottery-card-copy {
    position: absolute;
    left: 40px;
    top: 24px;
    z-index: 2;
}

.lottery-card-copy h2 {
    position: relative;
    margin: 0;
    color: #111;
    font-size: 36px;
    font-weight: 800;
    line-height: 50px;
    white-space: nowrap;
}

.lottery-card-copy h2 span {
    position: absolute;
    left: 296px;
    top: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 73px;
    height: 36px;
    padding: 0;
    border: 1px solid #f3b967;
    border-radius: 5px;
    background: #ffe2b0;
    color: #8d5407;
    font-size: 24px;
    font-weight: 600;
    line-height: 36px;
    text-align: center;
}

.lottery-card-copy p {
    margin: 16px 0 0;
    color: #555;
    font-size: 25px;
    line-height: 35px;
    white-space: nowrap;
}

.lottery-card-art {
    position: absolute;
    left: 28px;
    top: 228px;
    width: 245px;
    height: 135px;
    object-fit: contain;
}

.lottery-card.exclusive .lottery-card-art {
    left: 25px;
    top: 202px;
    width: 253px;
    height: 163px;
}

.lottery-exclusive-art {
    position: absolute;
    left: 25px;
    top: 202px;
    width: 253px;
    height: 163px;
}

.lottery-exclusive-art img {
    position: absolute;
    display: block;
}

.exclusive-base {
    left: 0;
    top: 36px;
    width: 253px;
    height: 127px;
}

.exclusive-shield.outer {
    left: 80px;
    top: 0;
    width: 125px;
    height: 140px;
}

.exclusive-shield.inner {
    left: 95px;
    top: 8px;
    width: 110px;
    height: 124px;
}

.exclusive-shield.half {
    left: 150px;
    top: 8px;
    width: 55px;
    height: 124px;
}

.exclusive-chart {
    left: 111px;
    top: 22px;
    width: 79px;
    height: 79px;
}

.exclusive-coin.stack {
    left: 57px;
    top: 101px;
    width: 51px;
    height: 39px;
    object-fit: contain;
}

.exclusive-coin.bar {
    left: 148px;
    top: 114px;
    width: 59px;
    height: 26px;
    object-fit: contain;
}

.lottery-cost {
    position: absolute;
    left: 48px;
    top: 400px;
    display: flex;
    align-items: center;
    height: 38px;
    color: #333;
    font-size: 24px;
    line-height: 1;
    white-space: nowrap;
}

.lottery-cost > img {
    display: block;
    width: 32px;
    height: 32px;
    margin-right: 4px;
    object-fit: fill;
}

.lottery-cost span {
    margin-right: 11px;
    color: #666;
}

.lottery-cost strong {
    margin-right: 8px;
    color: #06b673;
    font-size: 27px;
    font-weight: 800;
}

.lottery-cost em {
    font-style: normal;
}

.lottery-action {
    position: absolute;
    left: 40px;
    top: 460px;
    width: 258px;
    height: 64px;
    padding: 0;
    border: 0;
    border-radius: 50px;
    background: linear-gradient(103deg, #59ddb1 1%, #05b96f 99%);
    color: #fff;
    font-size: 31px;
    font-weight: 800;
    line-height: 1;
}

.lottery-action[disabled] {
    background: #c8d2ce;
    color: #f2f5f4;
    font-size: 26px;
}

.lottery-points-tip {
    position: relative;
    z-index: 2;
    margin: 116px 48px 0;
    color: #14251d;
    font-size: 26px;
}

.lottery-points-tip strong {
    color: #05b96f;
    font-size: 30px;
}

.lottery-wheel {
    position: absolute;
    left: 284px;
    top: 87px;
    z-index: 1;
    width: 384px;
    height: 384px;
    overflow: hidden;
    border-radius: 50%;
}

.lottery-wheel-img {
    position: absolute;
    inset: 0;
    display: block;
    width: 384px;
    height: 384px;
    object-fit: fill;
}

.lottery-wheel-disc {
    position: absolute;
    inset: 11px;
    border: 16px solid #7fe3ba;
    border-radius: 50%;
    background:
        repeating-conic-gradient(from -22.5deg, #ffffff 0deg 45deg, #dcf7ea 45deg 90deg);
    box-shadow: inset 0 0 0 10px #33c78e, inset 0 0 0 14px #c6f4e0, inset 0 6px 18px rgba(0, 0, 0, .06);
}

.lottery-wheel-disc:before,
.lottery-wheel-disc:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.lottery-wheel-disc:before {
    width: 126px;
    height: 126px;
    background: #ffdd93;
    box-shadow: inset 0 0 0 3px #f4b74e;
}

.lottery-wheel-disc:after {
    display: none;
}

.lottery-wheel-bulbs {
    position: absolute;
    inset: 0;
    z-index: 3;
}

.lottery-wheel-bulbs i {
    position: absolute;
    left: 187px;
    top: 187px;
    width: 11px;
    height: 11px;
    border: 1px solid #e6aa22;
    border-radius: 50%;
    background: #ffd45b;
    transform: rotate(calc(var(--i) * 18deg)) translateY(-181px);
    transform-origin: 5px 5px;
}

.wheel-pointer {
    position: absolute;
    left: 50%;
    top: 6px;
    z-index: 6;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 17px solid transparent;
    border-right: 17px solid transparent;
    border-top: 28px solid #f6a81e;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .18));
}

.wheel-go {
    position: absolute;
    left: 136px;
    top: 136px;
    z-index: 7;
    display: grid;
    place-items: center;
    width: 112px;
    height: 112px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 34%, #40e2a2 0%, #12a55f 78%);
    box-shadow: 0 8px 18px rgba(9, 120, 70, .35), inset 0 0 0 6px rgba(255, 255, 255, .42);
    color: #fff;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 36px;
    font-weight: 900;
    letter-spacing: 1px;
    line-height: 1;
    cursor: pointer;
}

.lottery-wheel-rotor {
    position: absolute;
    inset: 0;
    z-index: 1;
    transform-origin: 50% 50%;
    will-change: transform;
}

.lottery-wheel.is-spinning .lottery-wheel-rotor {
    animation: wheel-img-spin 2200ms cubic-bezier(.12, .62, .18, 1) both;
}

.lottery-wheel.is-spinning-loop .lottery-wheel-rotor {
    animation: wheel-loop .8s linear infinite;
}

.lottery-wheel-rotor.is-landing {
    transition: transform 3s cubic-bezier(.12, .62, .18, 1);
}

.lottery-wheel-labels {
    position: absolute;
    inset: 0;
    z-index: 4;
}

.lottery-prize-label {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    transform: rotate(var(--a)) translateY(-118px);
}

.lottery-prize-label span {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 86px;
    transform: translate(-50%, -50%) rotate(calc(-1 * var(--a)));
    color: #a35f0c;
    font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 24px;
    text-align: center;
    white-space: nowrap;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .75);
}

.lottery-prize-label.is-long span {
    font-size: 17px;
    line-height: 20px;
}

.lottery-prize-label.is-xlong span {
    width: 92px;
    font-size: 15px;
    line-height: 18px;
    white-space: normal;
    word-break: break-all;
}

.lottery-action.is-disabled,
.wheel-go.is-disabled {
    pointer-events: none;
    opacity: .75;
}

@keyframes lottery-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(720deg);
    }
}

@keyframes wheel-img-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(1440deg);
    }
}

@keyframes wheel-loop {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.wheel-prize {
    position: absolute;
    z-index: 5;
    width: 86px;
    height: 72px;
    color: #202326;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
}

.wheel-prize em {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 86px;
    font-style: normal;
}

.prize-icon,
.prize-icon img {
    display: block;
}

.prize-icon {
    position: absolute;
}

.wheel-prize.points-5 {
    left: 122px;
    top: 41px;
}

.wheel-prize.points-10 {
    left: 216px;
    top: 40px;
}

.wheel-prize.thanks {
    left: 279px;
    top: 111px;
}

.wheel-prize.points-20 {
    left: 285px;
    top: 197px;
}

.wheel-prize.points-2 {
    left: 213px;
    top: 263px;
}

.wheel-prize.coupon {
    left: 116px;
    top: 270px;
}

.wheel-prize.points-188 {
    left: 50px;
    top: 196px;
}

.wheel-prize.points-888 {
    left: 45px;
    top: 108px;
}

.wheel-prize.points-888 em,
.wheel-prize.points-188 em {
    font-size: 15px;
}

.prize-icon.gift,
.prize-icon.happy,
.prize-icon.coupon {
    width: 48px;
    height: 48px;
}

.prize-icon.gift img,
.prize-icon.happy img,
.prize-icon.coupon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.points-888 .prize-icon.gift {
    left: 8px;
    top: 27px;
}

.points-188 .prize-icon.gift {
    left: 3px;
    top: 21px;
}

.prize-icon.pair {
    left: -6px;
    top: 25px;
    width: 48px;
    height: 34px;
    overflow: hidden;
}

.prize-icon.pair img {
    width: 48px;
    height: 34px;
    object-fit: fill;
}

.prize-icon.stack {
    left: -3px;
    top: 20px;
    width: 48px;
    height: 37px;
}

.prize-icon.stack img {
    position: absolute;
    object-fit: fill;
}

.prize-icon.stack .coin-top {
    left: 16.6px;
    top: 7px;
    width: 29.7px;
    height: 28.8px;
}

.prize-icon.stack .coin-left {
    left: 0;
    top: 17.5px;
    width: 28.8px;
    height: 26.2px;
}

.prize-icon.stack .coin-bar {
    left: 19.2px;
    top: 28.8px;
    width: 28.8px;
    height: 14.8px;
}

.prize-icon.happy {
    left: 2px;
    top: 20px;
}

.prize-icon.pile {
    left: -2px;
    top: 20px;
    width: 48px;
    height: 48px;
}

.prize-icon.pile img {
    position: absolute;
    object-fit: fill;
}

.prize-icon.pile .side-a {
    left: 21.2px;
    top: 14.6px;
    width: 25.9px;
    height: 28.6px;
}

.prize-icon.pile .side-b {
    left: 1px;
    top: 3.1px;
    width: 25.8px;
    height: 40.4px;
}

.prize-icon.pile .coin-bar {
    left: 7.3px;
    top: 32.5px;
    width: 28.4px;
    height: 12.5px;
}

.prize-icon.coin {
    left: 1px;
    top: 24px;
    width: 44.6px;
    height: 41.6px;
}

.prize-icon.coin img {
    width: 44.6px;
    height: 41.6px;
    object-fit: fill;
}

.prize-icon.coupon {
    left: 7px;
    top: 20px;
}

.prize-icon.coupon b {
    position: absolute;
    left: 16px;
    top: 12px;
    color: #fff;
    font-size: 16.5px;
    line-height: 23px;
}

.lottery-rules {
    position: absolute;
    left: 32px;
    top: 1344px;
    width: 686px;
    height: 218px;
    overflow: hidden;
    border: 1.5px solid #e2f2ec;
    border-radius: 20px;
    background: linear-gradient(96deg, #fff 0%, #f4fffb 100%);
}

.lottery-bookmark {
    position: absolute;
    left: 22px;
    top: 0;
    display: grid;
    place-items: start center;
    width: 46px;
    height: 46px;
    padding-top: 7px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 73%, 0 100%);
    background: #56d8a8;
    color: #fff;
    font-size: 19px;
    line-height: 1;
}

.lottery-rules h2 {
    position: absolute;
    left: 72px;
    top: 29px;
    margin: 0;
    color: #111;
    font-size: 28px;
    font-weight: 800;
    line-height: 39px;
}

.lottery-rules ol {
    position: absolute;
    left: 72px;
    top: 78px;
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lottery-rules li {
    display: flex;
    align-items: center;
    min-height: 26px;
    color: #4a4a4a;
    font-size: 21px;
    line-height: 29px;
    white-space: nowrap;
}

.lottery-rules li b {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    margin-right: 12px;
    border-radius: 50%;
    background: #a2e1c7;
    color: #127f5d;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
}

.lottery-rules img {
    position: absolute;
    right: 7px;
    top: 20px;
    width: 242px;
    height: 176px;
    object-fit: contain;
}

.page-signin {
    background: #f7fbfa;
    color: #111;
}

.signin-topbar {
    position: absolute;
    z-index: 3;
    left: 0;
    top: 0;
    width: 750px;
    height: 112px;
}

.signin-topbar h1 {
    margin: 0;
    padding-top: 58px;
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.signin-back {
    position: absolute;
    left: 26px;
    top: 58px;
    width: 25px;
    height: 37px;
}

.signin-back img,
.signin-help img {
    display: block;
}

.signin-back img {
    width: 25px;
    height: 37px;
}

.signin-help img {
    width: 32px;
    height: 32px;
}

.signin-help {
    position: absolute;
    right: 35px;
    top: 61px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111;
}

.signin-help span {
    position: absolute;
    top: 1px;
    font-size: 25px;
    font-weight: 800;
    line-height: 32px;
}

.signin-summary-card,
.signin-calendar-card,
.signin-history-card,
.signin-rules-card {
    position: absolute;
    z-index: 1;
    left: 32px;
    width: 686px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18, 32, 51, .03);
}

.signin-summary-card {
    top: 131px;
    height: 180px;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: linear-gradient(135deg, #fff 1%, #e9fbf2 99%);
}

.signin-summary-card > img {
    position: absolute;
    display: block;
}

.signin-book {
    left: 44px;
    top: 0;
    width: 126px;
    height: 156px;
    object-fit: contain;
}

.signin-coin-b {
    left: 21px;
    top: 116px;
    width: 51px;
    height: 39px;
    object-fit: contain;
}

.signin-coin-a {
    left: 132px;
    top: 132px;
    width: 59px;
    height: 26px;
    object-fit: contain;
}

.signin-book-check {
    left: 112px;
    top: 72px;
    width: 36px;
    height: 36px;
}

.signin-summary-stats {
    position: absolute;
    left: 203px;
    top: 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 464px;
    height: 140px;
    padding: 18px 10px 12px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
}

.signin-summary-stats article {
    position: relative;
    min-width: 0;
    text-align: center;
}

.signin-summary-stats img {
    display: block;
    width: 31px;
    height: 31px;
    margin: 0 auto 12px;
    object-fit: contain;
}

.signin-summary-stats span {
    display: block;
    color: #606a73;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
}

.signin-summary-stats strong {
    display: inline-block;
    margin-top: 10px;
    color: #15191d;
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.signin-summary-stats em {
    margin-left: 3px;
    color: #15191d;
    font-size: 20px;
    font-style: normal;
}

.signin-summary-stats .orange strong,
.signin-summary-stats .orange em {
    color: #ff8500;
}

.signin-calendar-card {
    top: 327px;
    height: 601px;
    overflow: hidden;
}

.signin-month {
    position: absolute;
    left: 0;
    top: 37px;
    width: 100%;
    height: 40px;
}

.signin-month h2 {
    margin: 0;
    font-size: 33px;
    font-weight: 800;
    line-height: 40px;
    text-align: center;
}

.signin-month button {
    position: absolute;
    top: 0;
    display: grid;
    place-items: center;
    width: 40px;
    height: 38px;
    padding: 0;
    border: 1px solid #edf2f4;
    border-radius: 50%;
    background: #fff;
}

.signin-month button:first-child {
    left: 28px;
}

.signin-month button:last-child {
    right: 28px;
}

.signin-month button span {
    width: 15px;
    height: 15px;
    border-top: 4px solid #a8b4bd;
    border-right: 4px solid #a8b4bd;
}

.signin-month button:first-child span {
    transform: rotate(-135deg);
}

.signin-month button:last-child span {
    transform: rotate(45deg);
}

.signin-weekdays {
    position: absolute;
    left: 10px;
    top: 96px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    width: 667px;
    color: #59636c;
    font-size: 20px;
    text-align: center;
}

.signin-calendar-grid {
    position: absolute;
    left: 10px;
    top: 136px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: 75px;
    width: 667px;
}

.signin-calendar-grid > span {
    display: block;
}

.signin-calendar-grid button {
    position: relative;
    display: grid;
    place-items: start center;
    justify-self: center;
    width: 82px;
    height: 75px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #15191d;
}

.signin-calendar-grid b {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
}

.signin-calendar-grid .is-signed b {
    background: #dff6ee;
}

.signin-calendar-grid .is-signed i {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 32px;
    width: 18px;
    height: 9px;
    border-left: 4px solid #0bbf8d;
    border-bottom: 4px solid #0bbf8d;
    transform: translateX(-35%) rotate(-45deg);
}

.signin-calendar-grid .is-today b {
    width: 54px;
    height: 54px;
    margin-top: 5px;
    border-radius: 12px;
    background: url("../figma/signin-today-bg.svg") center / 100% 100% no-repeat;
    color: #fff;
    font-size: 24px;
    box-shadow: none;
}

.signin-calendar-grid .is-today {
    height: 91px;
    margin-top: -4px;
}

.signin-calendar-grid .is-today:before {
    position: absolute;
    left: 50%;
    top: -2px;
    z-index: 1;
    width: 68px;
    height: 68px;
    background: url("../figma/signin-today-ring.svg") center / 100% 100% no-repeat;
    content: "";
    transform: translateX(-50%);
}

.signin-calendar-grid .is-today i {
    top: 36px;
    width: 24px;
    height: 22px;
    border: 0;
    background: url("../figma/signin-today-check.svg") center / 100% 100% no-repeat;
    transform: translateX(-36%);
}

.signin-calendar-grid em {
    position: absolute;
    left: 50%;
    top: 69px;
    z-index: 4;
    width: 82px;
    height: 22px;
    display: grid;
    place-items: center;
    background: url("../figma/signin-today-label.svg") center / 100% 100% no-repeat;
    color: #0baf84;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 22px;
    transform: translateX(-50%);
}

.signin-done-btn {
    position: absolute;
    left: 66px;
    top: 504px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 554px;
    height: 58px;
    padding: 0;
    border: none;
    border-radius: 30px;
    background: linear-gradient(135deg, #00a878, #10bfaa);
    color: #fff;
    font-size: 27px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(15, 138, 95, 0.28);
}

.signin-done-btn.is-signed {
    background: #eafaf5;
    border: 1px solid #bfe9dc;
    color: #55c3a2;
    box-shadow: none;
    cursor: default;
}

.signin-done-btn.is-signed img {
    filter: none;
}

.signin-done-btn img {
    width: 36px;
    height: 36px;
    filter: brightness(0) invert(1);
}

.signin-history-card {
    top: 947px;
    height: 281px;
}

.signin-history-card header {
    position: relative;
    height: 78px;
}

.signin-history-card h2 {
    position: absolute;
    left: 15px;
    top: 24px;
    margin: 0;
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
}

.signin-history-list {
    position: absolute;
    left: 26px;
    right: 25px;
    top: 78px;
}

.signin-history-list article {
    position: relative;
    height: 47px;
    border-bottom: 1px solid #eef0f2;
    color: #2d343a;
    font-size: 22px;
}

.signin-history-list article:last-child {
    border-bottom: 0;
}

.signin-history-list i {
    position: absolute;
    left: 0;
    top: 13px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1ac193;
}

.signin-history-list span {
    position: absolute;
    left: 26px;
    top: 5px;
}

.signin-history-list b {
    position: absolute;
    left: 108px;
    top: 5px;
    font-weight: 400;
}

.signin-history-list em {
    position: absolute;
    left: 292px;
    top: 9px;
    display: grid;
    place-items: center;
    width: 72px;
    height: 28px;
    border-radius: 6px;
    background: #dff8ee;
    color: #0baf84;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.signin-history-list strong {
    position: absolute;
    right: 0;
    top: 6px;
    color: #08a97f;
    font-size: 20px;
    font-weight: 800;
}

.signin-rules-card {
    top: 1247px;
    display: flex;
    align-items: flex-start;
    gap: 26px;
    padding: 28px 28px 26px;
}

.signin-rules-card > img {
    flex: none;
    width: 120px;
    height: 120px;
    object-fit: contain;
}

.signin-rules-card div {
    flex: 1;
    min-width: 0;
    color: #363e45;
}

.signin-rules-card h2 {
    margin: 0 0 15px;
    color: #15191d;
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
}

.signin-rules-card p {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
}

.signin-rules-card p:last-child {
    margin-bottom: 0;
}

.security-panel {
    position: relative;
    z-index: 2;
    width: 686px;
    margin: 158px auto 0;
    padding: 34px 32px;
    border-radius: 26px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 48px rgba(25, 108, 76, .12);
}

.security-panel + .security-panel {
    margin-top: 28px;
}

.security-panel h2 {
    margin: 0 0 12px;
    color: #14251d;
    font-size: 34px;
    line-height: 1.2;
}

.security-panel p {
    margin: 0 0 24px;
    color: #667085;
    font-size: 24px;
    line-height: 1.45;
}

.business-form {
    display: grid;
    gap: 18px;
}

.business-form label {
    display: grid;
    gap: 10px;
    color: #344054;
    font-size: 24px;
    font-weight: 700;
}

.business-form input,
.account-bind-form input,
.account-bind-form select,
.account-inline-form input,
.pay-password-input,
.withdraw-form input {
    width: 100%;
    height: 72px;
    border: 1.5px solid #d9eee5;
    border-radius: 14px;
    padding: 0 22px;
    outline: none;
    background: #f8fffb;
    color: #101828;
    font-size: 26px;
}

.business-form input:focus,
.account-bind-form input:focus,
.account-inline-form input:focus,
.pay-password-input:focus,
.withdraw-form input:focus {
    border-color: #14b873;
    background: #fff;
}

.business-form button,
.account-bind-form button,
.account-inline-form button {
    height: 76px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #16bf78, #059a5f);
    color: #fff;
    font-size: 28px;
    font-weight: 900;
}

.pay-password-panel,
.transfer-panel {
    margin-top: 190px;
}

.page-pay-password {
    background: #f9fffc;
}

.page-pay-password .figma-bg {
    height: 100%;
    object-fit: cover;
}

.page-pay-password .topbar h1 {
    padding-top: 54px;
    text-align: center;
}

.page-pay-password .back-link {
    left: 42px;
    top: 50px;
}

.page-pay-password .pay-password-panel {
    margin-top: 210px;
}

.account-bind-form,
.account-inline-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}

.account-bind-form input,
.account-bind-form select,
.account-inline-form input {
    height: 64px;
    font-size: 24px;
    padding: 0 20px;
}

.account-bind-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 56px;
    color: #101828;
    font-weight: 700;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2312b76a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 28px 28px;
}

.account-bind-form select:focus {
    border-color: #14b873;
    background-color: #fff;
}

.product-pay-form {
    display: grid;
    gap: 22px;
}

.pay-options label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 76px;
    border: 1.5px solid #e5ece8;
    border-radius: 14px;
    background: #fff;
    color: #344054;
    font-size: 24px;
    font-weight: 800;
}

.pay-options label input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pay-options label.active {
    border-color: #11ae6e;
    background: #ecfff7;
    color: #098b58;
}

.pay-password-input {
    height: 72px;
}

.wallet-transfer-link {
    position: absolute;
    right: 28px;
    bottom: 26px;
    color: #0b9f65;
    font-size: 24px;
    font-weight: 900;
}

.withdraw-form {
    display: grid;
    gap: 14px;
}

.withdraw-form input {
    height: 66px;
}

.admin-panel {
    margin-top: 24px;
}

.admin-panel:first-of-type {
    margin-top: 132px;
}

.admin-panel + .admin-panel {
    margin-top: 24px;
}

.admin-hello {
    position: relative;
    z-index: 2;
    margin: 108px 40px 0;
    color: #667085;
    font-size: 26px;
}

.admin-hello + .admin-panel:first-of-type {
    margin-top: 20px;
}

.admin-prize-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    padding: 18px;
    border: 1px solid #e4e9f2;
    border-radius: 18px;
    background: #f8fafc;
}

.admin-prize-row + .admin-prize-row {
    margin-top: 14px;
}

.admin-prize-type {
    display: inline-flex;
    align-items: center;
    min-height: 72px;
    padding: 0 20px;
    border-radius: 14px;
    background: #eef2f7;
    color: #14251d;
    font-size: 26px;
}

.admin-prize-list {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}

.admin-prize-delete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-radius: 14px;
    background: #fff5f5;
    color: #b42318;
    font-size: 26px;
}

.admin-prize-delete button {
    flex: 0 0 auto;
    padding: 10px 26px;
    border: none;
    border-radius: 999px;
    background: #f04438;
    color: #fff;
    font-size: 24px;
}

.admin-prize-add {
    margin-top: 12px;
    padding-top: 20px;
    border-top: 1px dashed #d0d5dd;
}

.admin-prize-add h3 {
    margin: 0 0 8px;
    color: #14251d;
    font-size: 28px;
}

.admin-prize-add select {
    height: 92px;
    padding: 0 24px;
    border: 1px solid #d0d5dd;
    border-radius: 16px;
    background: #fff;
    color: #14251d;
    font-size: 28px;
}

.realname-rights-card--unverified {
    top: 1087px;
}

.realname-form-card {
    top: 549px;
    height: auto;
    min-height: 474px;
    padding: 30px 32px 34px;
}

.realname-form-card header {
    position: static;
    left: auto;
    top: auto;
    height: auto;
    margin-bottom: 20px;
}

.realname-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.realname-form label {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.realname-form label span {
    color: #697386;
    font-size: 24px;
    font-weight: 400;
}

.realname-form input {
    height: 80px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 0 24px;
    background: #f7fafc;
    color: #111827;
    font-size: 26px;
}

.realname-form input::placeholder {
    color: #9aa3b2;
}

.realname-captcha-row {
    display: flex;
    gap: 16px;
    align-items: stretch;
}

.realname-captcha-row input {
    flex: 1;
    min-width: 0;
}

.realname-captcha-row b {
    flex: 0 0 auto;
    width: 210px;
    height: 80px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7fafc;
    cursor: pointer;
}

.realname-captcha-row b img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.realname-form button {
    margin-top: 8px;
    height: 80px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(90deg, #18b966, #05924e);
    color: #fff;
    font-size: 30px;
    font-weight: 800;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.realname-form button:active {
    transform: scale(.985);
}

/* 积分记录页：全部记录，可滚动，复用 points 明细视觉 */
.points-record-page {
    position: absolute;
    left: 32px;
    top: 150px;
    width: 686px;
    bottom: 32px;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.points-record-scroll {
    position: absolute;
    inset: 0;
    padding: 6px 33px 16px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.points-record-scroll article {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    column-gap: 24px;
    align-items: center;
    padding: 24px 0;
}

.points-record-scroll article:not(:last-child) {
    border-bottom: 1px solid #e8eff0;
}

.points-record-scroll h3 {
    margin: 0 0 14px;
    color: #111827;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.points-record-scroll p {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #777f8f;
    font-size: 22px;
    line-height: 1;
}

.points-record-scroll strong {
    justify-self: end;
    color: #0aa65a;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.points-record-scroll .is-used strong {
    color: #f04a2a;
}

.points-record-scroll .is-used .record-status {
    background: #fff0e8;
    color: #f04a2a;
}

.points-record-empty {
    padding: 90px 0;
    text-align: center;
    color: #9aa3b2;
    font-size: 26px;
}

/* 公告 / 记录页 通用列表样式 */
.notice-list,
.record-list {
    padding: 12px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.notice-card,
.record-card {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 6px 18px rgba(17, 24, 39, .06);
}

.notice-card h2 {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 6px;
}

.notice-card time {
    display: block;
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 10px;
}

.notice-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #4b5563;
    margin: 0;
}

.notice-empty,
.record-empty {
    text-align: center;
    color: #9ca3af;
    font-size: 14px;
    padding: 48px 0;
}

/* 公告页在缩放视口内展示，字号与其它记录页对齐 */
.notice-card h2 { font-size: 30px; margin: 0 0 10px; }
.notice-card time { font-size: 22px; margin-bottom: 16px; }

/* 富文本正文（公告列表）：标题/列表/图片/链接排版 */
.notice-body.rich-text {
    font-size: 24px;
    line-height: 1.7;
    color: #4b5563;
    word-break: break-word;
}
.notice-body.rich-text h1 { font-size: 30px; }
.notice-body.rich-text h2 { font-size: 28px; }
.notice-body.rich-text h3 { font-size: 26px; }
.notice-body.rich-text h1,
.notice-body.rich-text h2,
.notice-body.rich-text h3 { margin: 14px 0 8px; color: #1f2937; line-height: 1.4; }
.notice-body.rich-text p { margin: 0 0 12px; font-size: inherit; color: inherit; }
.notice-body.rich-text ul,
.notice-body.rich-text ol { margin: 0 0 12px; padding-left: 1.4em; }
.notice-body.rich-text li { margin: 6px 0; }
.notice-body.rich-text a { color: #2f6bff; text-decoration: underline; word-break: break-all; }
.notice-body.rich-text img { max-width: 100%; height: auto; border-radius: 12px; margin: 10px 0; }
.notice-body.rich-text blockquote {
    margin: 10px 0; padding: 10px 18px; border-left: 4px solid #e5e7eb; color: #6b7280; background: #f9fafb;
}

.record-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.record-card .record-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.record-card .record-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
}

.record-card .record-sub {
    font-size: 12px;
    color: #9ca3af;
}

.record-card .record-amount {
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.record-card .record-amount.positive {
    color: #ef4444;
}

.record-card .record-amount.negative {
    color: #10b981;
}

/* 抽奖记录：置于背景图之上，定位到内容区，排版对齐 750 画布 */
.page-lottery-records .record-list {
    position: absolute;
    left: 32px;
    right: 32px;
    top: 150px;
    bottom: 32px;
    z-index: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4px 4px 24px;
    gap: 20px;
}

.page-lottery-records .record-card {
    border-radius: 24px;
    padding: 28px;
    gap: 20px;
}

.page-lottery-records .record-card .record-title {
    font-size: 28px;
}

.page-lottery-records .record-card .record-sub {
    font-size: 22px;
}

.page-lottery-records .record-card .record-amount {
    font-size: 28px;
}

.page-lottery-records .record-empty {
    font-size: 26px;
    padding: 120px 0;
}

.order-tabs {
    position: absolute;
    left: 32px;
    top: 150px;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    width: 686px;
}

.order-tabs button {
    border: none;
    height: 72px;
    background: #eef7f1;
    color: #747a84;
    font-size: 26px;
    border-radius: 36px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .16s ease, color .16s ease;
}

.order-tabs button.active {
    background: linear-gradient(135deg, #12b46a, #08a85d);
    color: #fff;
    font-weight: 800;
}

.order-list.order-list {
    position: absolute;
    left: 32px;
    right: 32px;
    top: 258px;
    bottom: 32px;
    z-index: 1;
    display: block;
    padding: 0 0 24px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.order-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid #eef0f2;
    border-radius: 24px;
    padding: 30px 32px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, .06);
}

.order-card:last-child {
    margin-bottom: 0;
}

.order-card .order-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.order-card .order-title {
    font-size: 32px;
    font-weight: 800;
    color: #1f2937;
    line-height: 1.2;
}

.order-card .order-badge {
    font-size: 24px;
    font-weight: 700;
    padding: 8px 22px;
    border-radius: 999px;
    white-space: nowrap;
}

.order-card .order-badge.is-holding {
    color: #08a85d;
    background: rgba(8, 168, 93, .12);
}

.order-card .order-badge.is-ended {
    color: #747a84;
    background: rgba(116, 122, 132, .14);
}

.order-card .order-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
}

.order-card .order-amount {
    font-size: 40px;
    font-weight: 800;
    color: #f04a2a;
    line-height: 1;
}

.order-card .order-pay {
    font-size: 24px;
    color: #747a84;
}

.order-card .order-income-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 26px 24px;
    border-radius: 20px;
    background: #f6f9f8;
}

.order-card .order-income-grid > div {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.order-card .order-income-grid span {
    font-size: 22px;
    color: #9aa3b2;
}

.order-card .order-income-grid strong {
    font-size: 28px;
    font-weight: 800;
    color: #1f2937;
    line-height: 1;
}

.order-card .order-income-grid > div:first-child strong,
.order-card .order-income-grid > div:nth-child(2) strong {
    color: #08a85d;
}

.order-card .order-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 22px;
    color: #9aa3b2;
    border-top: 1px solid #eef0f2;
    padding-top: 22px;
}

.order-list .record-empty {
    padding: 120px 0;
    text-align: center;
    color: #9aa3b2;
    font-size: 28px;
}

/* 充值：收款账户展示 / 凭证上传 / 空态 */
.recharge-account-box {
    white-space: pre-line;
    background: #f5faf8;
    border: 1px solid #e2ede8;
    border-radius: 16px;
    padding: 20px 24px;
    margin: 16px 0;
    font-size: 26px;
    line-height: 1.6;
    color: #2c3a34;
    word-break: break-all;
}

.recharge-empty {
    padding: 30px 0;
    text-align: center;
    color: #9aa3b2;
    font-size: 26px;
}

/* 提现：规则与预计到账提示 */
.withdraw-hints {
    margin: 12px 0 6px;
    padding: 18px 22px;
    background: #f5faf8;
    border-radius: 16px;
    font-size: 24px;
    line-height: 1.7;
    color: #55606a;
    word-break: break-all;
}

.withdraw-hints b {
    color: #e2372f;
    font-weight: 800;
}

/* USDT 收款页 */
.usdt-pay-panel {
    position: relative;
    margin: 160px 32px 24px;
    padding: 32px;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 12px 40px rgba(20, 40, 60, 0.08);
}

.usdt-pay-address.is-copyable {
    cursor: pointer;
}

.usdt-pay-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 0 4px;
}

.usdt-pay-qr-box {
    width: 320px;
    height: 320px;
    display: grid;
    place-items: center;
    padding: 16px;
    background: #fff;
    border: 1px solid #eef2f5;
    border-radius: 16px;
}

.usdt-pay-qr-box img,
.usdt-pay-qr-box canvas {
    width: 288px;
    height: 288px;
}

.usdt-pay-qr > span {
    font-size: 22px;
    color: #9aa3b2;
}

.usdt-pay-status {
    text-align: center;
    font-size: 34px;
    font-weight: 800;
    color: #f0a020;
    padding: 16px 0 24px;
}

.usdt-pay-status.is-done {
    color: #1fae74;
}

.usdt-pay-status.is-failed {
    color: #e2372f;
}

.usdt-pay-hint {
    font-size: 26px;
    line-height: 1.6;
    color: #55606a;
    margin-bottom: 24px;
}

.usdt-pay-hint b {
    color: #e2372f;
    font-weight: 800;
}

.usdt-pay-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 0;
    border-top: 1px solid #eef2f5;
    font-size: 26px;
}

.usdt-pay-row.column {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.usdt-pay-row > span {
    color: #9aa3b2;
    min-width: 140px;
}

.usdt-pay-row > b {
    color: #2c3a34;
    font-weight: 700;
    word-break: break-all;
    flex: 1;
}

.usdt-pay-amount {
    color: #e2372f !important;
    font-size: 30px;
}

.usdt-pay-copy {
    border: 1px solid #1fae74;
    color: #1fae74;
    background: #f0faf5;
    border-radius: 12px;
    padding: 8px 20px;
    font-size: 22px;
}

.usdt-pay-tips {
    margin: 24px 0 0;
    padding: 20px 24px;
    background: #f5faf8;
    border-radius: 16px;
    font-size: 23px;
    line-height: 1.7;
    color: #6b7580;
    list-style: disc inside;
}

.usdt-pay-actions {
    margin-top: 28px;
    text-align: center;
}

.usdt-pay-back {
    display: inline-block;
    padding: 20px 60px;
    background: #1fae74;
    color: #fff;
    border-radius: 999px;
    font-size: 28px;
    text-decoration: none;
}

/* 项目白皮书页 (Figma 41:3723) */
.phone-stage.page-whitepaper {
    background: #fdfdfc;
}

.page-whitepaper .wp-intro {
    position: absolute;
    left: 32px;
    top: 180px;
    width: 686px;
    height: 201px;
    border-radius: 22px;
    background: linear-gradient(131.65deg, #effbf5 1.03%, #e6f7f0 42.47%, #ddf3ea 98.97%);
}

.page-whitepaper .wp-title {
    position: absolute;
    left: 22px;
    top: 44px;
    margin: 0;
    color: #006b3e;
    font-size: 24px;
    font-weight: 700;
    white-space: nowrap;
}

.page-whitepaper .wp-subtitle {
    position: absolute;
    left: 7px;
    top: 85px;
    margin: 0;
    color: #1f2b2a;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}

.page-whitepaper .wp-checks {
    position: absolute;
    left: 22px;
    top: 131px;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-whitepaper .wp-checks li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #1f2b2a;
    font-size: 16px;
    white-space: nowrap;
}

.page-whitepaper .wp-checks img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.page-whitepaper .wp-doc {
    position: absolute;
    left: 32px;
    top: 431px;
    width: 686px;
    padding: 27px 24px 40px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
    color: #1f2b2a;
    font-size: 32px;
    line-height: 1.5;
}

.page-whitepaper .wp-doc p {
    margin: 0;
}

.page-whitepaper .wp-doc ul,
.page-whitepaper .wp-doc ol {
    margin: 0;
    padding-left: 48px;
}

.page-whitepaper .wp-doc ul {
    list-style: disc;
}

.page-whitepaper .wp-doc ol {
    list-style: decimal;
}

/* 新手教程页 (Figma 43:3825) */
.phone-stage.page-guide {
    background: #fdfdfc;
}

.page-guide .guide-back {
    position: absolute;
    z-index: 3;
    left: 24px;
    top: 60px;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 16px rgba(18, 32, 51, .12);
}

.page-guide .guide-back i {
    width: 20px;
    height: 20px;
    margin-left: 5px;
    border-left: 5px solid #101828;
    border-bottom: 5px solid #101828;
    border-radius: 2px;
    transform: rotate(45deg);
}

.page-guide .brand-compact {
    left: 108px;
}

.page-guide .guide-intro {
    position: absolute;
    z-index: 1;
    left: 32px;
    top: 180px;
    width: 686px;
    height: 201px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(131.65deg, #effbf5 1.03%, #e6f7f0 42.47%, #ddf3ea 98.97%);
}

.page-guide .guide-intro-art {
    position: absolute;
    left: 399px;
    top: 18px;
    width: 275px;
    height: 162px;
    object-fit: contain;
}

.page-guide .guide-intro-title {
    position: absolute;
    left: 22px;
    top: 35px;
    margin: 0;
    color: #006b3e;
    font-size: 32px;
    font-weight: 700;
    white-space: nowrap;
}

.page-guide .guide-intro-sub {
    position: absolute;
    left: 22px;
    top: 95px;
    margin: 0;
    color: #1f2b2a;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}

.page-guide .guide-intro-note {
    position: absolute;
    left: 22px;
    top: 142px;
    margin: 0;
    color: #1f2b2a;
    font-size: 16px;
    white-space: nowrap;
}

.page-guide .guide-body {
    position: absolute;
    z-index: 1;
    left: 32px;
    top: 431px;
    width: 686px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.page-guide .g-card {
    position: relative;
    width: 686px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
}

.page-guide .g-icon {
    position: absolute;
    left: 38px;
    top: 50%;
    transform: translateY(-50%);
    width: 96px;
    height: 96px;
}

.page-guide .g-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page-guide .g-body {
    margin-left: 179px;
    border-left: 1.5px solid #dcebe4;
    padding: 20px 24px 20px 37px;
}

.page-guide .g-body h3 {
    margin: 0 0 14px;
    color: #111;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

.page-guide .g-lead {
    margin: 0 0 10px;
    color: #1f2d42;
    font-size: 18px;
    line-height: 1.5;
}

.page-guide .g-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-guide .g-list li {
    position: relative;
    padding-left: 20px;
    color: #2d343a;
    font-size: 18px;
    line-height: 1.5;
}

.page-guide .g-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0bb887;
}

.page-guide .g-hl {
    color: #009b61;
    font-weight: 400;
}

.page-guide .g-detail {
    margin: 8px 0 0;
    color: #2d343a;
    font-size: 18px;
    line-height: 1.6;
}

.page-guide .g-dot {
    color: #0bb887;
}

.page-guide .g-para {
    margin: 0 0 12px;
    color: #2d343a;
    font-size: 18px;
    line-height: 1.5;
}

.page-guide .g-tip {
    margin-top: 4px;
    padding: 16px 18px;
    border: 1px solid #e8c978;
    border-radius: 10px;
    background: #fff7df;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
}

.page-guide .g-tip p {
    margin: 0;
    color: #1f2d42;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
}

.page-guide .g-tip p + p {
    margin-top: 8px;
}

.page-guide .g-tip-star,
.page-guide .g-tip-dot {
    color: #a66b00;
}

.page-guide .guide-features {
    display: flex;
    width: 686px;
    padding: 27px 0 24px;
    border: 1.5px solid #e2f2ec;
    border-radius: 20px;
    background: linear-gradient(96.58deg, #ffffff 0.24%, #f4fffb 99.77%);
}

.page-guide .g-feat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.page-guide .g-feat img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.page-guide .g-feat strong {
    color: #111;
    font-size: 20px;
    font-weight: 700;
}

.page-guide .g-feat span {
    color: #4a4a4a;
    font-size: 14px;
}

/* 首页公告弹窗 */
.home-popup {
    /* top/height 由 JS 按“当前屏幕对应的 stage 坐标区域”动态设定，
       使卡片居中于真实屏幕，而非整页中点；缩放层内无法用 fixed，故用 absolute + JS 定位 */
    position: absolute;
    left: 0;
    width: 750px;
    top: 0;
    height: 100%;
    z-index: 3300;
    display: none;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 60px 0;
    background: rgba(0, 0, 0, .5);
}

.home-popup.is-visible {
    display: flex;
}

/* 弹窗打开时隐藏底部导航栏：底栏 fixed 且在缩放层外，z-index 无法被弹窗压住，需直接隐藏 */
body.home-popup-open .bottom-nav {
    display: none;
}

.home-popup-card {
    position: relative;
    width: 600px;
    max-width: calc(100% - 80px);
    max-height: calc(100% - 120px);
    margin: auto;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 56px 40px 40px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
    text-align: center;
}

.home-popup-close {
    position: absolute;
    top: 20px;
    right: 24px;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: #f2f4f7;
    color: #666;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}

.home-popup-card h2 {
    margin: 0;
    font-size: 36px;
    color: #1a1a1a;
}

.home-popup-img {
    width: 100%;
    border-radius: 16px;
    object-fit: cover;
}

.home-popup-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.home-popup-body p {
    margin: 0;
    font-size: 26px;
    line-height: 1.6;
    color: #4a4a4a;
    word-break: break-word;
}

/* 富文本正文（弹窗）：标题/列表/图片/链接的基础排版 */
.home-popup-body.rich-text {
    display: block;
    font-size: 26px;
    line-height: 1.6;
    color: #4a4a4a;
    word-break: break-word;
    text-align: left;
}
.home-popup-body.rich-text h1 { font-size: 34px; }
.home-popup-body.rich-text h2 { font-size: 30px; }
.home-popup-body.rich-text h3 { font-size: 28px; }
.home-popup-body.rich-text h1,
.home-popup-body.rich-text h2,
.home-popup-body.rich-text h3 { margin: 12px 0 8px; color: #1a1a1a; line-height: 1.4; }
.home-popup-body.rich-text p { margin: 0 0 10px; font-size: inherit; }
.home-popup-body.rich-text ul,
.home-popup-body.rich-text ol { margin: 0 0 10px; padding-left: 1.4em; }
.home-popup-body.rich-text li { margin: 4px 0; }
.home-popup-body.rich-text a { color: #2f6bff; text-decoration: underline; word-break: break-all; }
.home-popup-body.rich-text img { max-width: 100%; height: auto; border-radius: 12px; margin: 8px 0; }
.home-popup-body.rich-text blockquote {
    margin: 8px 0; padding: 8px 16px; border-left: 4px solid #d9dee8; color: #666; background: #f7f9fc;
}

.home-popup-ok {
    margin-top: 6px;
    min-width: 240px;
    padding: 20px 40px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #00a878, #10bfaa);
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    cursor: pointer;
}

/* 会员群公告弹窗（富文本） */
.home-popup-card.is-group {
    text-align: left;
}

.group-popup-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
    color: #4a4a4a;
}

.group-lead {
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    color: #1a1a1a;
    text-align: center;
}

.group-step {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px 24px;
    border-radius: 16px;
    background: #f6f8fa;
}

.group-step h3 {
    margin: 0;
    font-size: 28px;
    color: #00a878;
}

.group-step p {
    margin: 0;
    font-size: 25px;
    line-height: 1.6;
}

.group-step ol {
    margin: 0;
    padding-left: 34px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.group-step ol li {
    font-size: 25px;
    line-height: 1.6;
}

.group-link {
    padding: 14px 18px;
    border-radius: 12px;
    background: #fff;
    border: 1px dashed #cfd8e3;
    font-size: 24px;
    color: #1a73e8;
    word-break: break-all;
}

.group-btns {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.group-btn {
    flex: 1;
    min-width: 200px;
    padding: 18px 24px;
    border: 0;
    border-radius: 999px;
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.group-btn-copy {
    background: #eaf6f1;
    color: #00a878;
}

.group-btn-dl {
    background: linear-gradient(135deg, #00a878, #10bfaa);
    color: #fff;
}

.group-qr {
    display: block;
    width: 60%;
    max-width: 340px;
    margin: 6px auto 4px;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.group-qr-save {
    display: block;
    margin: 4px auto 8px;
    padding: 14px 40px;
    border: none;
    border-radius: 12px;
    background: #1a73e8;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    cursor: pointer;
}

/* 全屏二维码查看层：挂在 body 下、脱离 .phone-stage 的 transform，恢复原生长按存图 */
.qr-viewer {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 24px;
    background: rgba(0, 0, 0, .82);
}

.qr-viewer.is-visible {
    display: flex;
}

.qr-viewer-img {
    width: min(78vw, 420px);
    max-height: 70vh;
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
    padding: 12px;
}

.qr-viewer-tip {
    margin: 0;
    color: #fff;
    font-size: 26px;
    text-align: center;
}

.qr-viewer-close {
    position: absolute;
    top: max(24px, env(safe-area-inset-top));
    right: 28px;
    width: 64px;
    height: 64px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
}

.group-done {
    margin: 0;
    font-size: 26px;
    font-weight: 600;
    color: #1a1a1a;
}

.group-tip {
    margin: 0;
    font-size: 23px;
    color: #8a94a6;
}

/* iOS 添加到主屏幕 引导（底部上滑卡片，挂在 body 顶层，fixed 覆盖真实整屏） */
.a2hs-guide {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(15, 23, 42, .45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .3s ease;
}

.a2hs-guide[hidden] {
    display: none;
}

.a2hs-guide.is-open {
    opacity: 1;
}

.a2hs-sheet {
    width: 100%;
    max-width: 440px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 14px 22px calc(26px + env(safe-area-inset-bottom));
    background: #fff;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .22);
    transform: translateY(100%);
    transition: transform .34s cubic-bezier(.22, .61, .36, 1);
}

.a2hs-guide.is-open .a2hs-sheet {
    transform: translateY(0);
}

.a2hs-grabber {
    align-self: center;
    width: 36px;
    height: 4px;
    margin: 2px 0 16px;
    border-radius: 999px;
    background: #e2e5ea;
}

.a2hs-hero {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.a2hs-appicon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
}

.a2hs-hero-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.a2hs-hero-text b {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
}

.a2hs-hero-text span {
    font-size: 13px;
    color: #8a92a6;
}

.a2hs-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.a2hs-step {
    display: flex;
    align-items: center;
    gap: 13px;
}

.a2hs-num {
    flex: none;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #00a878, #10bfaa);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    font-style: normal;
}

.a2hs-step-body {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.a2hs-step-body p {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.5;
    color: #33384a;
}

.a2hs-step-body b {
    font-weight: 600;
    color: #0a84ff;
}

.a2hs-chip {
    flex: none;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f4f6f9;
}

.a2hs-chip svg {
    width: 18px;
    height: 18px;
}

.a2hs-menuitem {
    flex: none;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 12px;
    border-radius: 9px;
    background: #f4f6f9;
}

.a2hs-menuitem em {
    font-style: normal;
    font-size: 13px;
    color: #33384a;
}

.a2hs-menuitem svg {
    width: 16px;
    height: 16px;
}

.a2hs-ok {
    margin-top: 22px;
    width: 100%;
    padding: 14px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #00a878, #10bfaa);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

body.a2hs-lock {
    overflow: hidden;
}

/* ---------- 统一支付方式选择页 /pay ---------- */
.pay-panel {
    margin-top: 190px;
}

.pay-form .pay-field {
    display: grid;
    gap: 12px;
    color: #344054;
    font-size: 24px;
    font-weight: 700;
}

.pay-form .pay-field > span {
    font-size: 24px;
    font-weight: 700;
}

.pay-method-list {
    display: grid;
    gap: 14px;
}

.pay-method-item {
    position: relative;
    display: grid;
    gap: 6px;
    height: auto !important;
    padding: 20px 64px 20px 22px !important;
    text-align: left;
    border: 1.5px solid #d9eee5 !important;
    border-radius: 16px !important;
    background: #f8fffb !important;
    color: #101828 !important;
    font-weight: 700;
}

.pay-method-item b {
    font-size: 26px;
    color: #101828;
}

.pay-method-item em {
    font-size: 20px;
    font-style: normal;
    color: #667085;
    font-weight: 600;
}

.pay-method-item .pay-method-tick {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #cbd5e1;
    background: #fff;
}

.pay-method-item.active {
    border-color: #14b873 !important;
    background: #effaf4 !important;
}

.pay-method-item.active .pay-method-tick {
    border-color: #14b873;
    background: #14b873;
}

.pay-method-item.active .pay-method-tick::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 6px;
    width: 8px;
    height: 15px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.pay-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pay-quick button {
    height: 64px !important;
    min-width: 110px;
    padding: 0 20px !important;
    border: 1.5px solid #d9eee5 !important;
    border-radius: 14px !important;
    background: #f8fffb !important;
    color: #101828 !important;
    font-size: 24px !important;
    font-weight: 700;
}

.pay-quick button.active {
    border-color: #14b873 !important;
    background: #effaf4 !important;
    color: #059a5f !important;
}

.pay-hint {
    color: #98a2b3;
    font-size: 20px;
    font-weight: 600;
}

.pay-safe-tip {
    color: #98a2b3;
    font-size: 20px;
    text-align: center;
}
