/* AUTO-GENERATED by scripts/build-shell-css.sh — do not edit by hand */ /* sources: base.css + header.css + footer.css + eightPop.css */ /* ===== base.css ===== */ /* Basic reset: keep layout deterministic */ html, body { margin: 0; padding: 0; } /* Global navigation interaction and mobile drawer. */ .header-nav .nav-link, .header-nav .nav-link-active { transition: color 180ms ease, background-color 180ms ease; } @media (min-width: 768px) { .header-nav .nav-link:hover, .header-nav .nav-link:focus-visible, .header-nav .nav-link-active:hover, .header-nav .nav-link-active:focus-visible { color: #EC237F; } .home-page .header-nav .nav-link:hover, .home-page .header-nav .nav-link:focus-visible { color: #FFFFFF; background: rgba(236, 35, 127, 0.18); } .home-page .header-nav .nav-link-active:hover, .home-page .header-nav .nav-link-active:focus-visible { color: #FFFFFF; background: #EC237F; } } .home-mobile-menu { display: none; } @media (max-width: 767px) { body.home-mobile-menu-open { overflow: hidden; touch-action: none; } .header-inner { position: relative; justify-content: flex-end; gap: 12px; } .header-menu-button[hidden] { appearance: none; width: 24px; height: 24px; margin-right: auto; padding: 0; display: flex; align-items: center; justify-content: center; flex: 0 0 24px; border: 0; background: transparent; cursor: pointer; } .header-menu-button img { width: 24px; height: 24px; } .header-menu-button:focus { outline: none; } .brand-lockup { position: absolute; left: 50%; top: 50%; margin: 0; transform: translate(-50%, -50%); } .brand-logo { width: 92px; height: 24px; max-width: none; } .header-search { width: 24px; min-width: 24px; max-width: 24px; height: 24px; flex: 0 0 24px; padding: 0; margin: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.05); justify-content: center; } .header-search .search-input { display: none; } .header-search .search-icon-wrap--h5 { order: 0; width: 16px; height: 16px; } .header-account { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; flex: 0 0 24px; } .account-label { display: none; } .account-avatar, .account-avatar-photo, .account-avatar-ring { width: 24px; height: 24px; } .home-mobile-menu[hidden] { display: none; } .home-mobile-menu { position: fixed; inset: 0; z-index: 1000; display: block; } .home-mobile-menu-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0, 0, 0, 0.7); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); cursor: pointer; animation: home-menu-fade-in 180ms ease both; } .home-mobile-menu-panel { position: absolute; inset: 0 auto 0 0; width: min(280px, 74.666667vw); min-height: 100%; height: 100dvh; padding: max(60px, calc(60px + env(safe-area-inset-top, 0px))) 36px 60px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 24px; overflow-y: auto; color: #FFFFFF; background: #282828; box-shadow: 10px 0 24px rgba(0, 0, 0, 0.22); animation: home-menu-slide-in 220ms ease-out both; } .home-mobile-menu-close { position: absolute; top: calc(26px + env(safe-area-inset-top, 0px)); right: 12px; width: 24px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; } .home-mobile-menu-close:focus { outline: none; } .home-mobile-menu-close img, .home-mobile-menu-social img { width: 24px; height: 24px; } .home-mobile-menu-logo, .home-mobile-menu-logo img { width: 138px; height: 36px; display: block; flex: 0 0 auto; } .home-mobile-menu-links { width: 208px; display: flex; flex-direction: column; gap: 11px; } .home-mobile-menu-links a { width: 100%; height: 50px; padding: 14px 23px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; color: #FFFFFF; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 9px; font: 600 16px/22px "PingFang SC", sans-serif; text-align: center; text-decoration: none; white-space: nowrap; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; } .home-mobile-menu-links a:hover, .home-mobile-menu-links a:focus-visible { color: #EC237F; background: rgba(236, 35, 127, 0.12); border-color: rgba(236, 35, 127, 0.2); } .home-mobile-menu-links a.is-active { color: #EC237F; background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.05); } .home-mobile-menu-contact { width: 208px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; color: rgba(255, 255, 255, 0.8); font: 400 14px/20px "PingFang SC", sans-serif; text-align: center; } .home-mobile-menu-contact a, .home-mobile-menu-contact span { color: inherit; text-decoration: none; } .home-mobile-menu-social { display: flex; align-items: center; gap: 24px; } .home-mobile-menu-social a, .home-mobile-menu-social > span:not(.home-mobile-menu-social-divider) { width: 24px; height: 24px; display: block; } .home-mobile-menu-social-divider { width: 1px; height: 15px; background: #FFFFFF; } @keyframes home-menu-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes home-menu-slide-in { from { transform: translateX(-100%); } to { transform: translateX(0); } } } @media (max-width: 430px) { .home-mobile-menu-panel { width: 74.666667vw; padding: max(16vw, calc(16vw + env(safe-area-inset-top, 0px))) 9.6vw 16vw; gap: 6.4vw; } .home-mobile-menu-close { top: calc(6.933333vw + env(safe-area-inset-top, 0px)); right: 3.2vw; width: 6.4vw; height: 6.4vw; } .home-mobile-menu-close img, .home-mobile-menu-social img { width: 6.4vw; height: 6.4vw; } .home-mobile-menu-logo, .home-mobile-menu-logo img { width: 36.8vw; height: 9.6vw; } .home-mobile-menu-links, .home-mobile-menu-contact { width: 55.466667vw; } .home-mobile-menu-links { gap: 2.933333vw; } .home-mobile-menu-links a { height: 13.333333vw; padding: 3.733333vw 6.133333vw; border-radius: 2.4vw; font-size: clamp(14px, 4.266667vw, 17px); line-height: 5.866667vw; } .home-mobile-menu-contact { gap: 3.2vw; font-size: clamp(12px, 3.733333vw, 15px); line-height: 5.333333vw; } .home-mobile-menu-social { gap: 6.4vw; } .home-mobile-menu-social a, .home-mobile-menu-social > span:not(.home-mobile-menu-social-divider) { width: 6.4vw; height: 6.4vw; } } *, *::before, *::after { box-sizing: border-box; } body { background: #0A0A0A; font-family: PingFang SC, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 100%; } img { display: block; } /* 去掉浏览器默认输入框 focus 光圈 / outline;组件可自行保留边框高亮 */ input, textarea, select { outline: none; outline-color: transparent; -webkit-tap-highlight-color: transparent; } input:focus, input:focus-visible, textarea:focus, textarea:focus-visible, select:focus, select:focus-visible { outline: none; outline-color: transparent; } input[type="search"] { -webkit-appearance: none; appearance: none; } input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; } html { scrollbar-width: thin; scrollbar-color: #3A3A3A #0A0A0A; } ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #0A0A0A; } ::-webkit-scrollbar-thumb { background: #3A3A3A; border-radius: 9999px; } ::-webkit-scrollbar-thumb:hover { background: #4A4A4A; } /* 语义标题:避免浏览器默认 h1–h3 margin 影响现有布局 */ h1, h2, h3 { margin: 0; font-size: inherit; font-weight: inherit; } /* 仅供爬虫/读屏的语义内容,不影响视觉布局 */ .seo-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* ===== header.css ===== */ .site-header { position: sticky; top: 0; align-self: stretch; width: 100%; height: 72px; background: #181818; overflow: hidden; justify-content: center; align-items: center; display: flex; z-index: 100; box-sizing: border-box; } .header-inner { width: min(1800px, calc(100% - 120px)); min-width: 0; max-width: none; height: 72px; justify-content: flex-start; align-items: center; gap: 24px; display: flex; box-sizing: border-box; } .brand-lockup { justify-content: flex-start; align-items: center; display: flex; text-decoration: none; flex-shrink: 0; } .brand-logo { width: 133px; height: auto; display: block; } .brand-title { color: white; font-size: 18px; font-family: PingFang SC; font-weight: 400; line-height: 24px; word-wrap: break-word; } .brand-subtitle-en { color: #A69CB8; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .header-nav { overflow: hidden; justify-content: flex-start; align-items: center; gap: 60px; display: flex; flex-shrink: 0; } .nav-link-active { color: #EC237F; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; word-wrap: break-word; text-decoration: none; } .nav-link { color: #F5F5F5; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; word-wrap: break-word; text-decoration: none; } .nav-link:hover { color: #EC237F; } .header-gap { width: 24px; height: 9px; position: relative; flex-shrink: 0; } .header-search { flex: 1 1 0; min-width: 160px; max-width: 462px; height: 40px; padding-left: 14px; padding-right: 14px; background: rgba(255, 255, 255, 0.05); overflow: hidden; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.10); justify-content: flex-start; align-items: center; gap: 8px; display: flex; margin-left: auto; } .search-icon-wrap { width: 15px; height: 15px; position: relative; overflow: hidden; display: block; object-fit: contain; } .search-icon-wrap--h5 { display: none; } .search-input { flex: 1 1 0; min-width: 0; height: 100%; border: none; background: transparent; box-shadow: none; outline: none; outline-color: transparent; -webkit-appearance: none; appearance: none; color: #F5F5F5; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; } .search-input:focus, .search-input:focus-visible { border: none; outline: none; outline-color: transparent; box-shadow: none; } .search-input::placeholder { color: #A3A3A3; } .header-app-icon { width: auto; height: 31px; display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; } .header-app-icon img { width: auto; height: 31px; display: block; } /*.header-app-icon[hidden], .header-separator[hidden] { display: none !important; }*/ .header-separator { width: 1px; height: 12px; background: white; } .header-account { justify-content: flex-start; align-items: center; gap: 8px; display: flex; text-decoration: none; color: inherit; } .account-avatar { width: 40px; height: 40px; position: relative; overflow: hidden; border-radius: 1249px; background: rgba(255, 255, 255, 0.05); } .account-avatar-ring { width: 40px; height: 40px; left: 0px; top: 0px; position: absolute; object-fit: cover; display: none; border-radius: 9999px; } .account-avatar-body { width: 20px; height: 9px; left: 10px; top: 21px; position: absolute; background: #EC237F; border-radius: 9999px; } .account-avatar-head { width: 10px; height: 11px; left: 15px; top: 9px; position: absolute; background: #EC237F; border-radius: 7.50px 1.25px 7.50px 7.50px; } .account-avatar-photo { width: 40px; height: 40px; border-radius: 999px; object-fit: cover; display: block; flex-shrink: 0; } .account-label { justify-content: center; display: flex; flex-direction: column; color: #EC237F; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; word-wrap: break-word; } .account-label--logged { color: white; } @media (max-width: 767px) { .site-header { height: 48px; background: #181818; justify-content: center; align-items: center; gap: 0; padding: 0 16px; overflow: hidden; } .header-inner { width: 100%; min-width: 0; max-width: 100%; height: 48px; justify-content: flex-start; align-items: center; gap: 12px; } .brand-lockup { position: static; left: auto; transform: none; flex-shrink: 0; } .brand-logo { width: auto; height: 32px; max-width: 110px; object-fit: contain; object-position: left center; } .header-nav, .header-gap, .header-app-icon, .header-separator, .header-account { display: none; } .header-search { display: flex; flex: 1 1 0; min-width: 0; height: auto; padding: 6px 16px; border-radius: 999px; gap: 8px; } .search-icon-wrap--pc { display: none; } .search-icon-wrap--h5 { display: block; order: 2; width: 16px; height: 16px; flex-shrink: 0; } .search-input { order: 1; font-size: 12px; line-height: 18px; height: auto; color: white; } .search-input::placeholder { color: rgba(255, 255, 255, 0.60); } } /* ===== footer.css ===== */ .footer-box { background-color: #181818; width: 100%; overflow: hidden; } .footer-muted-text { color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .footer-outer { align-self: stretch; width: 100%; max-width: min(1800px, calc(100% - 120px)); padding: 36px 0; overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 18px; display: flex; box-sizing: border-box; margin: 0 auto; } .footer-brand { justify-content: flex-start; align-items: center; gap: 12px; display: inline-flex; } .footer-brand-lockup { justify-content: flex-start; align-items: center; gap: 6px; display: inline-flex; text-decoration: none; flex-shrink: 0; } .footer-logo { width: auto; height: 36px; display: block; } .footer-icon-link--h5 { display: none; } .footer-row { align-self: stretch; height: 24px; justify-content: space-between; align-items: center; display: flex; gap: 18px; } .footer-links { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; } .footer-links a { color: inherit; text-decoration: none; } .footer-links a:hover { color: #EC237F; } .footer-contact { display: none; } .footer-contact-line { justify-content: center; display: flex; flex-direction: column; color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; text-decoration: none; } a.footer-contact-line:hover { color: #EC237F; } .footer-icon-link { display: block; line-height: 0; width: 24px; height: 24px; } .footer-contact-sep { width: 1px; height: 10px; background: rgba(255, 255, 255, 0.20); } .footer-icons { justify-content: center; align-items: center; gap: 18px; display: flex; flex-shrink: 0; } .footer-icon-outer { width: 24px; height: 24px; position: relative; overflow: hidden; display: block; object-fit: contain; } .footer-icon-divider { width: 1px; height: 15px; background: white; } .footer-copy { color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .footer-social { display: flex; align-items: center; flex-shrink: 0; } .footer-social-label { display: none; } .h5-tabbar { display: none; } @media (max-width: 1200px) { .footer-outer { padding-left: 48px; padding-right: 48px; } } @media (max-width: 767px) { .footer-box { background: #0A0A0A; padding: 0 16px 24px; box-sizing: border-box; } .footer-outer { width: 100%; max-width: 100%; height: auto; padding: 18px 20px; flex-direction: column; align-items: flex-start; gap: 18px; box-sizing: border-box; background: rgba(255, 255, 255, 0.05); overflow: hidden; border-radius: 18px; border: 1px solid rgba(255, 255, 255, 0.10); } .footer-row { display: contents; } .footer-brand { gap: 4px; order: 1; width: 100%; } .footer-brand-lockup { gap: 4px; } .footer-logo { width: auto; height: 32px; display: block; flex-shrink: 0; } .footer-brand .footer-muted-text { display: none; } .footer-copy { order: 2; color: white; font-size: 12px; line-height: 18px; } .footer-links { order: 3; flex-wrap: wrap; align-content: center; align-items: center; white-space: normal; gap: 12px; width: 100%; } .footer-links a { color: rgba(255, 255, 255, 0.60); font-size: 12px; line-height: 18px; } .footer-links a + a { position: relative; padding-left: 13px; } .footer-links a + a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 12px; background: rgba(255, 255, 255, 0.20); } .footer-contact { display: none; } .footer-social { order: 4; width: 100%; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.10); box-sizing: border-box; } .footer-social-label { display: block; color: white; font-size: 14px; font-family: PingFang SC, sans-serif; font-weight: 400; line-height: 20px; } .footer-icons { width: 100%; justify-content: flex-start; align-items: center; gap: 16px; } .footer-icon-divider { display: none; } .footer-icon-link, .footer-icon-link--h5 { width: 38px; height: 38px; background: rgba(255, 255, 255, 0.10); border-radius: 9999px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .footer-icon-link .footer-icon-outer { width: 18px; height: 18px; } body.has-h5-tabbar .h5-tabbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; width: 100%; padding: 6px 16px calc(6px + env(safe-area-inset-bottom, 0px)); background: #101010; border-top-left-radius: 12px; border-top-right-radius: 12px; justify-content: center; align-items: center; box-sizing: border-box; } .h5-tabbar-item { flex: 1 1 0; padding: 2px 16px; flex-direction: column; justify-content: center; align-items: center; gap: 2px; display: flex; text-decoration: none; color: #808080; font-size: 12px; font-family: PingFang SC, sans-serif; font-weight: 400; line-height: 18px; text-align: center; } .h5-tabbar-icon { width: 24px; height: 24px; display: block; object-fit: contain; } .h5-tabbar-item.is-active { color: #EC237F; } body.has-h5-tabbar { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); } } /* ===== eightPop.css ===== */ .eight-pop-mask { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.76); padding: 24px; box-sizing: border-box; } .eight-pop-mask.is-open { display: flex; } .eight-pop-card { width: 456px; max-width: 100%; height: auto; padding: 32px; background: rgba(23, 23, 23, 0.98); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.48); overflow: hidden; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.10); flex-direction: column; justify-content: center; align-items: center; gap: 20px; display: flex; box-sizing: border-box; } .eight-pop-icon { width: 78px; height: 78px; border-radius: 112px; object-fit: cover; display: block; } .eight-pop-title { text-align: center; color: rgba(255, 255, 255, 0.95); font-size: 26px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 700; line-height: 1.3; word-wrap: break-word; } .eight-pop-desc { align-self: stretch; text-align: center; color: rgba(255, 255, 255, 0.60); font-size: 15px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 400; line-height: 24px; word-wrap: break-word; } .eight-pop-actions { align-self: stretch; height: 50px; overflow: hidden; justify-content: flex-start; align-items: stretch; gap: 12px; display: flex; } .eight-pop-btn { flex: 1 1 0; height: 50px; overflow: hidden; border: none; border-radius: 14px; justify-content: center; align-items: center; display: flex; cursor: pointer; font-size: 16px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 500; line-height: 1.2; word-wrap: break-word; box-sizing: border-box; } .eight-pop-btn--exit { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.10); color: rgba(255, 255, 255, 0.90); } .eight-pop-btn--confirm { background: #EC237F; color: #171717; } .eight-pop-hint { text-align: center; color: rgba(255, 255, 255, 0.40); font-size: 13px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 400; line-height: 18px; word-wrap: break-word; } @media (max-width: 767px) { .eight-pop-mask { padding: 16px; } .eight-pop-card { width: 300px; max-width: calc(100% - 32px); padding: 28px 24px 24px; gap: 16px; border-radius: 24px; box-shadow: 0 16px 32px rgba(0, 0, 0, 0.48); } .eight-pop-icon { width: 78px; height: 78px; } .eight-pop-title { font-size: 22px; } .eight-pop-desc { font-size: 14px; line-height: 22px; } .eight-pop-actions { width: 252px; max-width: 100%; height: auto; flex-direction: column-reverse; align-self: center; gap: 16px; } .eight-pop-btn { width: 252px; max-width: 100%; flex: none; height: 48px; font-size: 16px; } .eight-pop-hint { font-size: 12px; } } /* Keep the shared Figma mobile header layout after the legacy mobile rules. */ @media (max-width: 767px) { .header-inner { position: relative; justify-content: flex-end; gap: 12px; } .header-menu-button[hidden] { appearance: none; width: 24px; height: 24px; margin-right: auto; padding: 0; display: flex; align-items: center; justify-content: center; flex: 0 0 24px; border: 0; background: transparent; cursor: pointer; } .brand-lockup { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .brand-logo { width: 92px; height: 24px; max-width: none; } .header-search { width: 24px; min-width: 24px; max-width: 24px; height: 24px; flex: 0 0 24px; padding: 0; margin: 0; border: 0; background: rgba(255, 255, 255, 0.05); justify-content: center; } .header-search .search-input { display: none; } .header-search .search-icon-wrap--h5 { order: 0; width: 16px; height: 16px; } .header-account { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; flex: 0 0 24px; } .account-label { display: none; } .account-avatar, .account-avatar-photo, .account-avatar-ring { width: 24px; height: 24px; } }