/** * User Center — VIP page UX/UI. * * The summary card is the membership status thesis: one calm surface, * one state accent, and a quiet crown watermark behind the four key lines. */ .uc-content #panel-vip.dashboard-panel { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .uc-vip-summary { --vip-state: var(--color-primary); --vip-state-soft: var(--color-primary-soft); --vip-level: var(--color-ink-2); position: relative; isolation: isolate; min-width: 0; margin: 0 0 var(--space-5, 20px); padding: clamp(18px, 2.8vw, 28px) clamp(18px, 3vw, 30px); padding-inline-end: clamp(110px, 19vw, 180px); overflow: hidden; border: 1px solid var(--color-line-soft); border-inline-start: 3px solid var(--vip-state); border-radius: var(--radius-lg, var(--radius, 8px)); background-color: var(--surface-1); background-image: linear-gradient(135deg, var(--vip-state-soft), transparent 52%); box-shadow: var(--shadow-sm); transition: border-color var(--dur, 0.25s) var(--ease, ease), box-shadow var(--dur, 0.25s) var(--ease, ease); } .uc-vip-summary[data-vip-state="active"] { --vip-state: var(--color-success); --vip-state-soft: color-mix(in srgb, var(--color-success) 12%, transparent); } .uc-vip-summary[data-vip-state="permanent"] { --vip-state: var(--color-accent); --vip-state-soft: var(--color-accent-soft); } .uc-vip-summary[data-vip-state="expired"] { --vip-state: var(--color-error); --vip-state-soft: color-mix(in srgb, var(--color-error) 10%, transparent); } .uc-vip-summary[data-vip-state="unopened"] { --vip-state: var(--color-info); --vip-state-soft: color-mix(in srgb, var(--color-info) 10%, transparent); } .uc-vip-summary[data-vip-level="1"] { --vip-level: var(--aksrt-vip-gold-2, var(--color-warning)); } .uc-vip-summary[data-vip-level="2"] { --vip-level: var(--aksrt-indigo, var(--color-info)); } .uc-vip-summary__watermark { position: absolute; inset-inline-end: -0.08em; top: 50%; z-index: 0; color: var(--vip-state); font-size: clamp(96px, 10vw, 160px); line-height: 1; opacity: 0.1; pointer-events: none; transform: translateY(-50%); } .uc-vip-summary__watermark i { display: block; font-size: inherit; line-height: 1; } .uc-vip-status { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2, 8px); min-width: 0; max-width: 48rem; text-align: left; } .uc-vip-status__heading { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2, 8px); min-width: 0; } .uc-vip-status__label { margin: 0; color: var(--color-ink); font-size: var(--text-lg, 1.25rem); font-weight: 750; letter-spacing: -0.02em; line-height: var(--leading-tight, 1.2); } .uc-vip-status__state { display: inline-flex; align-items: center; min-height: var(--aksrt-badge-h, 22px); padding: 3px 9px; border: 1px solid color-mix(in srgb, var(--vip-state) 24%, transparent); border-radius: var(--radius-pill, 100px); background: var(--vip-state-soft); color: var(--vip-state); font-size: var(--text-xs, 0.75rem); font-weight: 700; line-height: 1; white-space: nowrap; } .uc-vip-status__main { display: inline-flex; align-items: center; gap: var(--space-2, 8px); min-width: 0; color: var(--vip-level); font-size: var(--text-lg, 1.25rem); line-height: var(--leading-tight, 1.2); } .uc-vip-status__icon { display: inline-grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--vip-level) 32%, transparent); border-radius: var(--radius-xl, 12px); background: color-mix(in srgb, var(--vip-level) 12%, transparent); color: var(--vip-level); font-size: 15px; } .uc-vip-status__level { min-width: 0; overflow-wrap: anywhere; font-weight: 750; } .uc-vip-status__desc, .uc-vip-status__expiry { min-width: 0; overflow-wrap: anywhere; font-size: var(--text-sm, 0.875rem); line-height: var(--leading-snug, 1.4); } .uc-vip-status__desc { color: var(--color-ink-3); } .uc-vip-status__expiry { display: inline-flex; align-items: center; gap: 6px; color: var(--vip-state); font-weight: 600; } .uc-vip-status__expiry i { font-size: 0.9em; } /* Level purchase cards: one spacing system, no .zib-widget margin stacking. */ .uc-vip-level-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4, 16px); align-items: stretch; margin: 0 0 var(--space-5, 20px); } .uc-vip-tab .uc-vip-level-card.zib-widget, .uc-vip-tab .uc-vip-level-card.pay-vip-info { position: relative; display: block; min-width: 0; height: 100%; margin: 0; padding: 22px 20px 20px; overflow: hidden; border: 1px solid var(--color-line-soft); border-top: 3px solid var(--vip-card-accent, var(--color-primary)); border-radius: var(--radius-lg, var(--radius, 8px)); background-color: var(--surface-1) !important; background-image: linear-gradient(145deg, var(--vip-card-soft), transparent 68%) !important; box-shadow: var(--shadow-sm); transition: transform var(--dur-fast, 0.15s) var(--ease, ease), box-shadow var(--dur-fast, 0.15s) var(--ease, ease), border-color var(--dur-fast, 0.15s) var(--ease, ease); } .uc-vip-tab .uc-vip-level-card.level-1 { --vip-card-accent: var(--aksrt-vip-gold-2, var(--color-warning)); --vip-card-soft: color-mix(in srgb, var(--aksrt-vip-gold-1, var(--color-warning)) 15%, transparent); } .uc-vip-tab .uc-vip-level-card.level-2 { --vip-card-accent: var(--aksrt-indigo, var(--color-info)); --vip-card-soft: color-mix(in srgb, var(--aksrt-indigo, var(--color-info)) 12%, transparent); } .uc-vip-tab .uc-vip-level-card.zib-widget:hover, .uc-vip-tab .uc-vip-level-card.pay-vip-info:hover { border-color: color-mix(in srgb, var(--vip-card-accent) 42%, var(--color-line-soft)); box-shadow: var(--shadow); transform: translateY(-2px); } .uc-vip-tab .uc-vip-level-card .vip-baicon { color: var(--vip-card-accent); opacity: 0.1; } .uc-vip-level-card__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: stretch; min-height: 100%; } .uc-vip-tab .uc-vip-level-card .v-iconbox { justify-content: flex-start; gap: var(--space-3, 12px); margin-bottom: var(--space-4, 16px); } .uc-vip-tab .uc-vip-level-card .v-icon { width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--vip-card-accent) 28%, transparent); border-radius: var(--radius-xl, 12px); background: color-mix(in srgb, var(--vip-card-accent) 14%, transparent); color: var(--vip-card-accent); } .uc-vip-tab .uc-vip-level-card.level-1 .v-name, .uc-vip-tab .uc-vip-level-card.level-2 .v-name { color: var(--vip-card-accent); } .uc-vip-tab .uc-vip-level-card .v-name { font-size: var(--text-md, 1.125rem); line-height: var(--leading-tight, 1.2); } .uc-vip-tab .uc-vip-level-card .v-desc { margin-top: 4px; color: var(--color-ink-3); line-height: var(--leading-snug, 1.4); } .uc-vip-tab .uc-vip-level-card .v-equity { flex: 1 1 auto; max-width: none; margin: 0 0 var(--space-5, 20px) !important; color: var(--color-ink-3); } .uc-vip-tab .uc-vip-level-card .v-equity > li { margin-bottom: var(--space-2, 8px) !important; } .uc-vip-tab .uc-vip-cta { display: flex !important; align-items: center; justify-content: center; gap: var(--space-2, 8px); width: 100%; min-width: 0; min-height: var(--btn-lg-h, 44px); margin-top: auto; padding: 10px 16px !important; border: 0; border-radius: var(--radius, 8px); font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: filter var(--dur-fast, 0.15s) var(--ease, ease), box-shadow var(--dur-fast, 0.15s) var(--ease, ease), transform var(--dur-fast, 0.15s) var(--ease, ease); } .uc-vip-tab .uc-vip-cta:hover { filter: brightness(0.97) saturate(1.08); box-shadow: var(--shadow-sm); opacity: 1; transform: translateY(-1px); } .uc-vip-tab .uc-vip-cta:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; box-shadow: var(--focus-ring); } .uc-vip-tab .uc-vip-cta--current { cursor: default; background: var(--surface-3) !important; color: var(--color-ink-3) !important; filter: none; opacity: 1; } .uc-vip-tab .uc-vip-cta--current:hover { box-shadow: none; transform: none; } .uc-vip-tab .uc-vip-points-link.zib-widget { margin: 0 0 var(--space-5, 20px); border: 1px solid color-mix(in srgb, var(--color-warning) 22%, var(--color-line-soft)); border-radius: var(--radius-lg, var(--radius, 8px)); background-color: var(--surface-1); background-image: linear-gradient(135deg, color-mix(in srgb, var(--color-warning) 8%, transparent), transparent 70%); box-shadow: none; } .uc-vip-tab > .muted-box { margin-top: 0; border: 1px solid var(--color-line-soft); background: var(--surface-4); } @media (max-width: 767px) { .uc-vip-summary { padding: 18px 14px; padding-inline-end: 76px; } .uc-vip-summary__watermark { inset-inline-end: -0.14em; font-size: clamp(82px, 27vw, 112px); opacity: 0.08; } .uc-vip-status { gap: var(--space-2, 8px); } .uc-vip-status__label { font-size: var(--text-md, 1.125rem); } .uc-vip-level-cards { grid-template-columns: 1fr; gap: var(--space-3, 12px); } .uc-vip-tab .uc-vip-level-card.zib-widget, .uc-vip-tab .uc-vip-level-card.pay-vip-info { padding: 20px 16px 16px; } } @media (max-width: 420px) { .uc-vip-summary { padding-inline-end: 62px; } .uc-vip-summary__watermark { font-size: 86px; } } @media (prefers-reduced-motion: reduce) { .uc-vip-summary, .uc-vip-tab .uc-vip-level-card.zib-widget, .uc-vip-tab .uc-vip-level-card.pay-vip-info, .uc-vip-tab .uc-vip-cta { transition: none; } .uc-vip-tab .uc-vip-level-card.zib-widget:hover, .uc-vip-tab .uc-vip-level-card.pay-vip-info:hover, .uc-vip-tab .uc-vip-cta:hover { transform: none; } }