/** * User Center — mobile tabs, drawer breakpoints, a11y/loading, invite mobile */ /* ==================== 移动端 Tab 栏 ==================== */ .uc-mobile-tabs { display: none; } @media (max-width: 767px) { .uc-mobile-tabs { display: flex; flex-wrap: wrap; overflow: hidden; gap: 4px; padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--color-line-soft, rgba(0,0,0,0.06)); scrollbar-width: none; -ms-overflow-style: none; } .uc-mobile-tabs::-webkit-scrollbar { display: none; } .uc-mobile-tabs a { flex-shrink: 0; white-space: nowrap; padding: 8px 14px; border: none; border-radius: 8px; background: transparent; color: var(--color-ink-3); font-size: 13px; font-weight: 500; text-decoration: none; cursor: pointer; transition: all 0.2s ease; } .uc-mobile-tabs a:hover, .uc-mobile-tabs a.is-active { background: var(--color-primary-soft); color: var(--color-primary); font-weight: 600; } } /* ==================== 响应式抽屉(对齐 legacy ≤767 全宽,覆盖 display:none) ==================== */ /* legacy 在 max-width:767 把 user-center-sidebar/content 设 width:100%; * 本站沿用 ≤991.98 的 drawer 模式,与全站侧栏折叠点一致。 */ @media (max-width: 991.98px) { body.aksrt-user-center .user-center-body, body.aksrt-user-center .aksrt-profile__layout, .aksrt-profile .user-center-body, .aksrt-profile .aksrt-profile__layout, .user-center .user-center-body { display: block; gap: 0; } body.aksrt-user-center .user-center-content, body.aksrt-user-center .uc-content, .aksrt-profile .user-center-content, .aksrt-profile .uc-content, .user-center .user-center-content { width: 100%; max-width: none; flex: none; } /* 抽屉:离屏固定,FAB 打开;不参与文档流,避免堆在内容下方 */ body.aksrt-user-center .user-center-sidebar, body.aksrt-user-center .uc-sidebar, body.aksrt-user-center .aksrt-profile__aside, .aksrt-profile .user-center-sidebar, .aksrt-profile .uc-sidebar, .aksrt-profile .aksrt-profile__aside, .user-center .user-center-sidebar { display: flex; float: none; flex: none; width: 270px; max-width: 270px; margin-left: 0; margin-right: 0; position: fixed; top: 0; left: -280px; bottom: 0; z-index: 300; background: var(--surface-1); padding: 0; overflow-y: auto; overflow-x: hidden; transition: left 0.3s cubic-bezier(0.22, 1, 0.36, 1); box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12); gap: 0; align-self: auto; } body.aksrt-user-center .user-center-sidebar.is-open, body.aksrt-user-center .uc-sidebar.is-open, body.aksrt-user-center .aksrt-profile__aside.is-open, .aksrt-profile .user-center-sidebar.is-open, .aksrt-profile .uc-sidebar.is-open, .aksrt-profile .aksrt-profile__aside.is-open, .user-center .user-center-sidebar.is-open { left: 0; } /* 抽屉头部装饰 */ body.aksrt-user-center .user-center-sidebar::before, body.aksrt-user-center .uc-sidebar::before, body.aksrt-user-center .aksrt-profile__aside::before, .aksrt-profile .user-center-sidebar::before, .aksrt-profile .uc-sidebar::before, .aksrt-profile .aksrt-profile__aside::before, .user-center .user-center-sidebar::before { content: ''; display: block; height: 100px; background: linear-gradient(135deg, var(--color-primary), #667eea); flex-shrink: 0; } body.aksrt-user-center .uc-sidebar__section, .aksrt-profile .uc-sidebar__section, .user-center .uc-sidebar__section { border-radius: 0; border-left: none; border-right: none; box-shadow: none; } body.aksrt-user-center .uc-sidebar__section:first-of-type, .aksrt-profile .uc-sidebar__section:first-of-type, .user-center .uc-sidebar__section:first-of-type { margin-top: -20px; position: relative; z-index: 1; border-radius: 12px 12px 0 0; } body.aksrt-user-center .uc-sidebar__drawer-trigger, .aksrt-profile .uc-sidebar__drawer-trigger, .user-center .uc-sidebar__drawer-trigger { display: flex; } } @media (max-width: 767px) { .uc-content .dashboard-panel { padding: 16px; } } /* ==================== 焦点状态(无障碍)==================== */ .uc-sidebar__btn:focus-visible, .uc-sidebar__drawer-trigger:focus-visible, .uc-content .btn-primary:focus-visible, .uc-content .btn-ghost:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } /* ==================== 加载状态 ==================== */ .uc-content .btn-primary.is-loading, .uc-content .btn-ghost.is-loading { position: relative; color: transparent; pointer-events: none; } .uc-content .btn-primary.is-loading::after, .uc-content .btn-ghost.is-loading::after { content: ''; position: absolute; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: btn-spin 0.6s linear infinite; } @keyframes btn-spin { to { transform: rotate(360deg); } } /* ==================== 空状态增强 ==================== */ .uc-content .profile-empty { padding: 48px 20px; } .uc-content .profile-empty__icon { width: 56px; height: 56px; margin-bottom: 14px; } .uc-content .profile-empty__icon svg { width: 26px; height: 26px; } /* ==================== 移动端底部安全区 ==================== */ .uc-sidebar__drawer-trigger { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); } @media (max-width: 480px) { .user-center, .aksrt-profile.content-shell { padding: 0 12px 32px; } .uc-stats { grid-template-columns: repeat(4, 1fr); } .uc-stats__item { padding: 8px 4px; } .uc-stats__value { font-size: 1rem; } .uc-content .dashboard-panel { padding: 14px; } .uc-content .widget-card { padding: 14px; } .uc-transactions__item { padding: 12px 14px; } .uc-transactions__icon { width: 32px; height: 32px; font-size: 12px; } } @media (max-width: 640px) { .uc-content .aksrt-invite-hero { flex-direction: column; padding: 0 0 14px; } .uc-content .aksrt-invite-code-card { width: 100%; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--color-line-soft, rgba(0,0,0,0.06)); } .uc-content .aksrt-invite-link-row { flex-direction: column; padding: 14px 0; } .uc-content .aksrt-invite-link-row input { flex: none; width: 100%; height: 40px; } .uc-content .aksrt-invite-copy { width: 100%; } .uc-content .aksrt-invite-stats { grid-template-columns: repeat(3, 1fr); padding: 12px 0; } .uc-content .aksrt-invite-stat { align-items: center; text-align: center; padding: 0 8px; border-right: 1px solid var(--color-line-soft, rgba(0,0,0,0.06)); border-bottom: 0; } .uc-content .aksrt-invite-stat:last-child { border-right: 0; } .uc-content .aksrt-invite-stat strong { font-size: 22px; } .uc-content .aksrt-invite-stat span, .uc-content .aksrt-invite-stat strong { white-space: nowrap; } .uc-content .aksrt-invite-stat small { font-size: 11px; } .uc-content .aksrt-invite-records { padding: 14px 0 0; } .uc-content .aksrt-invite-record { align-items: flex-start; } .uc-content .aksrt-invite-record__status { min-width: 0; } } @media (max-width: 520px) { .uc-content .aksrt-invite-record { flex-wrap: wrap; } .uc-content .aksrt-invite-record__main { flex: 1 1 calc(100% - 54px); } .uc-content .aksrt-invite-record__status { flex: 1 1 100%; align-items: flex-start; padding-left: 54px; text-align: left; } }