.user-center-layout { min-height: 100vh; display: flex; flex-direction: column; } /* Figma account module — desktop canvas 1920, mobile canvas 375. */ @media (min-width: 768px) { .user-center-layout .user-center-page { min-height: 0; padding: calc(36px * var(--account-s, min(1, 100vw / 1920px))) calc(60px * var(--account-s, min(1, 100vw / 1920px))); gap: calc(24px * var(--account-s, min(1, 100vw / 1920px))); background: #0f0f0f; box-sizing: border-box; } .user-center-layout .user-center-pc { width: 100%; max-width: calc(1800px * var(--account-s, min(1, 100vw / 1920px))); margin: 0 auto; gap: calc(24px * var(--account-s, min(1, 100vw / 1920px))); } .user-center-layout .user-center-head { gap: min(12px, 0.625vw); } .user-center-layout .user-center-eyebrow { color: #ec237f; font-size: clamp(11px, 0.625vw, 12px); line-height: clamp(16px, 0.9375vw, 18px); } .user-center-layout .user-center-title, .user-center-layout .user-center-title--logged { font-size: clamp(20px, 1.25vw, 24px); font-weight: 600; line-height: clamp(28px, 1.666667vw, 32px); } .user-center-layout .user-center-desc { font-size: clamp(12px, 0.729167vw, 14px); line-height: clamp(18px, 1.041667vw, 20px); color: rgba(255, 255, 255, 0.55); } .user-center-layout .user-center-profile { height: min(148px, 7.708333vw); min-height: min(148px, 7.708333vw); padding: min(32px, 1.666667vw) min(28px, 1.458333vw); gap: min(12px, 0.625vw); background: rgba(255, 255, 255, 0.05); border-radius: min(24px, 1.25vw); } .user-center-layout .user-center-avatar { width: min(84px, 4.375vw); height: min(84px, 4.375vw); } .user-center-layout .user-center-profile-info { width: min(230px, 11.979167vw); gap: min(3px, 0.15625vw); } .user-center-layout .user-center-profile-name { font-size: clamp(16px, 0.9375vw, 18px); font-weight: 600; line-height: clamp(22px, 1.25vw, 24px); } .user-center-layout .user-center-profile-email { font-size: clamp(12px, 0.729167vw, 14px); line-height: clamp(18px, 1.041667vw, 20px); } .user-center-layout .user-center-profile-id { color: #fff; font-size: clamp(12px, 0.729167vw, 14px); font-weight: 400; line-height: clamp(18px, 1.041667vw, 20px); } .user-center-layout .user-center-coin-card { position: relative; width: min(343px, 17.864583vw); height: min(81px, 4.21875vw); padding: min(15px, 0.78125vw) min(16px, 0.833333vw) min(15px, 0.78125vw) min(26px, 1.354167vw); flex-direction: row; justify-content: space-between; align-items: center; gap: min(8px, 0.416667vw); background: url('/static/images/figma-account/balance-card.svg') center/100% 100% no-repeat; border: 0; border-radius: min(18px, 0.9375vw); } .user-center-coin-copy { display: flex; flex-direction: column; gap: min(4px, 0.208333vw); } .user-center-layout .user-center-coin-label { color: transparent; background: linear-gradient(90deg, #ff9365 0%, #ffd8bc 100%); -webkit-background-clip: text; background-clip: text; font-family: "Alimama FangYuanTi VF", "PingFang SC", sans-serif; font-size: min(16px, 0.833333vw); font-weight: 600; line-height: min(18px, 0.9375vw); } .user-center-layout .user-center-coin-label small { color: transparent; background: linear-gradient(90deg, #ff9365 0%, #ffd8bc 100%); -webkit-background-clip: text; background-clip: text; font-size: min(10px, 0.520833vw); font-weight: 400; } .user-center-layout .user-center-coin-value { font-family: "Arial Narrow", sans-serif; font-size: min(24px, 1.25vw); font-weight: 800; line-height: 1; } .user-center-layout .user-center-coin-action { position: relative; width: min(72px, 3.75vw); height: min(30px, 1.5625vw); margin-right: min(5px, 0.260417vw); border-radius: 0; background: none; color: transparent; font-size: 0; line-height: 0; display: block; flex: 0 0 auto; object-fit: contain; object-position: center right; } .user-center-layout .user-center-login-banner { min-height: min(178px, 9.270833vw); padding: min(28px, 1.458333vw) min(32px, 1.666667vw); gap: min(14px, 0.729167vw); background: rgba(255, 255, 255, 0.05); border-radius: min(24px, 1.25vw); } .user-center-layout .user-center-login-title { font-size: clamp(20px, 1.25vw, 24px); font-weight: 600; line-height: clamp(28px, 1.666667vw, 32px); } .user-center-layout .user-center-login-btn { background: #ec237f; color: #fff; font-weight: 500; } .user-center-layout .user-center-login-arrow { display: none; } .user-center-layout .user-center-features { gap: min(16px, 0.833333vw); } .user-center-layout .user-center-feature { height: min(120px, 6.25vw); padding: calc(min(18px, 0.9375vw) - 1px) calc(min(22px, 1.145833vw) - 1px); gap: min(6px, 0.3125vw); border-radius: min(20px, 1.041667vw); } .user-center-layout .user-center-feature-icon, .user-center-layout .user-center-feature-icon img { width: min(30px, 1.5625vw); height: min(30px, 1.5625vw); } .user-center-layout .user-center-feature-title { font-size: min(18px, 0.9375vw); font-weight: 600; line-height: min(24px, 1.25vw); } .user-center-layout .user-center-feature-desc { font-size: min(12px, 0.625vw); line-height: min(18px, 0.9375vw); } } @media (max-width: 767px) { body.site-shell.is-user-center-page { padding-top: calc(48px + env(safe-area-inset-top, 0px)); background: #0f0f0f; } body.is-user-center-page .site-header { display: flex !important; height: 48px !important; min-height: 48px !important; padding: 0 var(--site-shell-gutter) !important; overflow: hidden !important; } body.is-user-center-page .footer-box, body.is-user-center-page .floating-action, body.is-user-center-page .download-fab { display: none !important; } .user-center-layout .user-center-page { min-height: calc(100dvh - 48px - env(safe-area-inset-top, 0px)); padding: 0; background: #0f0f0f; } .user-center-layout .user-center-main { display: flex; align-items: center; } .user-center-layout .user-center-mobile-profile { width: calc(100% - 32px); max-width: 343px; height: 56px; margin: 12px auto 0; padding: 0; gap: 12px; background: transparent; border: 1px solid rgba(255, 255, 255, 0.06); } .user-center-layout .user-center-mobile-avatar { width: 56px; height: 56px; } .user-center-layout .user-center-mobile-body { width: calc(100% - 32px); max-width: 343px; margin: 14px auto 0; gap: 14px; overflow: visible; } .user-center-mobile-balance { position: relative; width: 100%; height: 81px; padding: 15px 16px 15px 26px; border-radius: 18px; background: url('/static/images/figma-account/balance-card.svg') center/100% 100% no-repeat; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; color: #fff; text-decoration: none; } .user-center-mobile-balance-copy { display: flex; flex-direction: column; gap: 4px; } .user-center-mobile-balance-label { color: transparent; background: linear-gradient(90deg, #ff9365 0%, #ffd8bc 100%); -webkit-background-clip: text; background-clip: text; font-family: "Alimama FangYuanTi VF", "PingFang SC", sans-serif; font-size: 16px; font-weight: 600; line-height: 18px; } .user-center-mobile-balance-label small { color: transparent; background: linear-gradient(90deg, #ff9365 0%, #ffd8bc 100%); -webkit-background-clip: text; background-clip: text; font-size: 10px; font-weight: 400; } .user-center-mobile-balance-value { font-family: "Arial Narrow", sans-serif; font-size: 24px; font-weight: 800; line-height: 24px; } .user-center-mobile-balance-action { position: relative; width: 72px; height: 30px; margin-right: 5px; border-radius: 15px; background: #f8d9ac; color: #171717; font-size: 12px; font-weight: 400; line-height: 18px; display: flex; align-items: center; justify-content: center; } .user-center-mobile-balance-action::after { content: ""; position: absolute; z-index: 1; top: 50%; right: -5px; width: 20px; height: 23px; background: url('/static/images/figma-account/balance-action-accent.svg') center/contain no-repeat; transform: translateY(-50%); pointer-events: none; } .user-center-layout .user-center-mobile-menu { border: 0; border-radius: 16px; background: rgba(255, 255, 255, 0.05); } .user-center-layout .user-center-mobile-menu-item { height: 48px; padding: 0 14px; } .user-center-layout .user-center-mobile-menu-label, .user-center-layout .user-center-mobile-menu-hint { font-weight: 400; } .user-center-layout .user-center-mobile-menu-hint { color: rgba(255, 255, 255, 0.55); } } .user-center-layout .site-header, .user-center-layout .footer-box { flex-shrink: 0; } .user-center-page { width: 100%; flex: 1 1 auto; min-height: 0; padding: 36px 0; background: #0A0A0A; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 24px; box-sizing: border-box; } .user-center-pc { width: 100%; max-width: calc(100% - 32px); display: flex; flex-direction: column; align-items: flex-start; gap: 24px; } .user-center-nav { display: none; } .user-center-main { display: none; } .user-center-head { align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; } .user-center-head-row { align-self: stretch; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; } .user-center-head-title-wrap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0; } .user-center-guest-register-btn { height: 32px; padding: 0 14px; border-radius: 16px; background: #EC237F; color: #181818; font-size: 13px; font-family: PingFang SC; font-weight: 500; line-height: 18px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; box-sizing: border-box; } .user-center-guest-register-btn:hover { filter: brightness(0.96); } .user-center-state-switch { display: none; } .user-center-state-btn { height: 30px; padding: 0 12px; border-radius: 8px; color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; } .user-center-state-btn--active { background: #EC237F; color: #181818; } .user-center-eyebrow { color: #EC237F; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; } .user-center-title { margin: 0; color: white; font-size: 36px; font-family: PingFang SC; font-weight: 400; line-height: 42px; } .user-center-title--logged { font-size: 34px; line-height: 40px; } .user-center-desc { color: #A3A3A3; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; } .user-center-profile { align-self: stretch; height: 176px; min-height: 176px; padding: 24px 28px; background: linear-gradient(90deg, rgba(241, 43, 158, 0.17) 0%, rgba(62, 102, 255, 0.18) 100%); overflow: hidden; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.10); display: flex; justify-content: flex-start; align-items: center; gap: 20px; box-sizing: border-box; } .user-center-avatar { width: 84px; height: 84px; border-radius: 999px; object-fit: cover; flex-shrink: 0; } .user-center-profile-info { overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; } .user-center-profile-name { color: white; font-size: 24px; font-family: PingFang SC; font-weight: 400; line-height: 30px; } .user-center-profile-id { max-width: 100%; overflow: hidden; color: #fff; font-family: PingFang SC, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; } .user-center-profile-email { color: #8A8A8A; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 280px; } .user-center-profile-badge { padding: 4px 10px; background: rgba(255, 255, 255, 0.08); overflow: hidden; border-radius: 12px; color: #D4D4D4; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; } .user-center-profile-spacer { flex: 1 1 0; height: 1px; min-width: 12px; } .user-center-vip-card { width: 220px; height: 112px; padding: 16px 18px; background: rgba(255, 255, 255, 0.05); overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.10); display: flex; flex-direction: column; align-items: flex-start; gap: 4px; box-sizing: border-box; text-decoration: none; flex-shrink: 0; } .user-center-vip-card--active { background: linear-gradient(180deg, #FFD597 0%, #F8D9AC 100%); border-color: #695700; } .user-center-vip-card--active .user-center-vip-label, .user-center-vip-card--active .user-center-vip-expire { color: #9D6200; } .user-center-vip-card--active .user-center-vip-status { color: #000; } .user-center-vip-label { color: #F59E0B; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; } .user-center-vip-status { color: white; font-size: 18px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 24px; } .user-center-vip-expire { color: #9D6200; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; } .user-center-vip-action { color: #EC237F; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; } .user-center-coin-card { width: 180px; height: 112px; padding: 16px 18px; background: rgba(255, 255, 255, 0.05); overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.10); display: flex; flex-direction: column; align-items: flex-start; gap: 4px; box-sizing: border-box; text-decoration: none; flex-shrink: 0; } .user-center-coin-label { color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; } .user-center-coin-value { color: white; font-size: 30px; font-family: PingFang SC; font-weight: 400; line-height: 36px; } .user-center-coin-action { display: block; width: 72px; height: 30px; flex: 0 0 auto; object-fit: contain; object-position: center right; } .user-center-login-banner { align-self: stretch; min-height: 190px; padding: 28px 32px; background: linear-gradient(90deg, rgba(241, 43, 158, 0.16) 0%, rgba(62, 102, 255, 0.18) 100%); overflow: hidden; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.10); display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 16px; box-sizing: border-box; } .user-center-login-title { color: white; font-size: 24px; font-family: PingFang SC; font-weight: 400; line-height: 30px; } .user-center-login-desc { color: #A3A3A3; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; } .user-center-login-btn { width: 126px; height: 42px; background: white; overflow: hidden; border-radius: 21px; justify-content: center; align-items: center; gap: 8px; display: inline-flex; text-decoration: none; color: #181818; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; } .user-center-login-arrow { color: #181818; font-size: 16px; font-family: PingFang SC; font-weight: 400; line-height: 22px; } .user-center-features { align-self: stretch; display: flex; justify-content: flex-start; align-items: stretch; gap: 16px; } .user-center-feature { flex: 1 1 0; min-width: 0; padding: 18px 22px; background: rgba(255, 255, 255, 0.05); overflow: hidden; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.10); display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 6px; box-sizing: border-box; text-decoration: none; color: inherit; } .user-center-feature-icon { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; } .user-center-feature-icon img { width: 30px; height: 30px; object-fit: contain; } .user-center-feature-title { color: white; font-size: 18px; font-family: PingFang SC; font-weight: 400; line-height: 24px; } .user-center-feature-desc { color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; } @media (max-width: 1100px) { .user-center-pc .user-center-profile { flex-wrap: wrap; } .user-center-pc .user-center-profile-spacer { display: none; } .user-center-pc .user-center-vip-card, .user-center-pc .user-center-coin-card { flex: 1 1 180px; width: auto; } } @media (max-width: 767px) { body.is-user-center-page { background: #0A0A0A; } body.is-user-center-page .site-header, body.is-user-center-page .footer-box, body.is-user-center-page .floating-action, body.is-user-center-page .download-fab { display: none !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; border: none !important; } .user-center-layout { min-height: 100vh; background: #0A0A0A; } .user-center-page { padding: 0; padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); background: #0A0A0A; align-items: stretch; gap: 0; min-height: 100vh; overflow: visible; } .user-center-pc { display: none; } .user-center-nav { position: sticky; top: 0; z-index: 40; width: 100%; height: 48px; padding: 0 16px; display: flex; justify-content: center; align-items: center; box-sizing: border-box; flex-shrink: 0; background: #181818; overflow: hidden; } .user-center-nav-back, .user-center-nav-spacer { display: none; } .user-center-nav-title { margin: 0; flex: 1 1 0; height: 24px; display: flex; justify-content: center; align-items: center; color: #fff; font-size: 16px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 22px; } .user-center-main { display: flex; width: 100%; max-width: 100%; flex-direction: column; align-items: center; box-sizing: border-box; } .user-center-mobile-profile { width: 100%; height: 88px; padding: 0 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); display: flex; justify-content: flex-start; align-items: center; gap: 12px; box-sizing: border-box; flex-shrink: 0; overflow: hidden; } .user-center-mobile-profile--guest { gap: 10px; } .user-center-mobile-avatar { width: 56px; height: 56px; border-radius: 999px; object-fit: cover; flex-shrink: 0; display: block; border: 1px solid rgba(250, 220, 68, 0.35); } .user-center-mobile-profile-info { width: 199px; max-width: 100%; min-width: 0; flex: 1 1 0; height: 46px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; overflow: hidden; } .user-center-mobile-name { color: #fff; font-size: 18px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 24px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .user-center-mobile-meta { color: rgba(255, 255, 255, 0.60); font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 400; line-height: 18px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .user-center-mobile-login-btn { flex-shrink: 0; height: 30px; padding: 0 14px; background: #EC237F; border-radius: 15px; color: #171717; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; } .user-center-mobile-guest-register-btn { flex-shrink: 0; height: 30px; padding: 0 14px; background: #EC237F; border-radius: 15px; color: #171717; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; } .user-center-mobile-body { width: calc(100% - 32px); max-width: 343px; margin: 14px auto 0; display: flex; flex-direction: column; align-items: stretch; gap: 14px; box-sizing: border-box; overflow: hidden; } .user-center-mobile-vip { position: relative; width: 100%; height: 88px; min-height: 88px; padding: 14px 16px; background: rgba(250, 220, 68, 0.09); border-radius: 18px; border: 1px solid rgba(250, 220, 68, 0.24); overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; box-sizing: border-box; text-decoration: none; } .user-center-mobile-vip--active { background: linear-gradient(180deg, rgba(255, 213, 151, 0.18) 0%, rgba(248, 217, 172, 0.12) 100%); border-color: rgba(250, 220, 68, 0.35); } .user-center-mobile-vip--active .user-center-mobile-vip-title { color: rgba(255, 255, 255, 0.95); } .user-center-mobile-vip-title { color: rgba(255, 255, 255, 0.95); font-size: 16px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 22px; padding-right: 100px; } .user-center-mobile-vip-desc { color: rgba(255, 255, 255, 0.62); font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 400; line-height: 18px; padding-right: 100px; } .user-center-mobile-vip--active .user-center-mobile-vip-title, .user-center-mobile-vip--active .user-center-mobile-vip-desc { padding-right: 100px; } .user-center-mobile-vip-btn { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 92px; height: 30px; background: #EC237F; border-radius: 15px; color: #171717; font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 700; line-height: 18px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; } .user-center-mobile-vip-btn[hidden] { display: none !important; } .user-center-mobile-menu { width: 100%; background: rgba(255, 255, 255, 0.05); border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.08); overflow: hidden; display: flex; flex-direction: column; align-items: stretch; } .user-center-mobile-menu-item { width: 100%; height: 48px; padding: 0 14px; border-bottom: 1px rgba(255, 255, 255, 0.10) solid; display: flex; justify-content: space-between; align-items: center; gap: 12px; box-sizing: border-box; text-decoration: none; overflow: hidden; } .user-center-mobile-menu-item:last-child { border-bottom: none; } .user-center-mobile-menu-label { color: rgba(255, 255, 255, 0.90); font-size: 14px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 400; line-height: 20px; } .user-center-mobile-menu-label--accent { color: rgba(255, 255, 255, 0.90); font-weight: 700; } .user-center-mobile-menu-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; overflow: hidden; } .user-center-mobile-menu-hint { color: rgba(255, 255, 255, 0.90); font-size: 12px; font-family: "Noto Sans SC", PingFang SC, sans-serif; font-weight: 400; line-height: 18px; } .user-center-mobile-menu-arrow { width: 18px; height: 18px; display: block; opacity: 0.55; filter: brightness(0) invert(1); } }