style(vip): match summary card to purchase cards

Tone down the top membership summary to the existing VIP card language without changing purchase-card styles or behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-08-04 19:50:59 +08:00
1 parent 21c3300255
commit 3283d7de0a
1 file changed
+65 -99
+65 -99
View File
@@ -2,7 +2,7 @@
* User Center — VIP summary card only. * User Center — VIP summary card only.
* *
* The purchase cards below remain owned by the existing VIP/credits styles. * The purchase cards below remain owned by the existing VIP/credits styles.
* This file deliberately scopes its UI to the top membership information card. * This summary intentionally mirrors their quiet Zibll card language.
*/ */
.uc-content #panel-vip.dashboard-panel { .uc-content #panel-vip.dashboard-panel {
@@ -15,64 +15,46 @@
} }
.uc-vip-summary { .uc-vip-summary {
--vip-state: var(--color-primary); --vip-card-accent: var(--color-ink-2);
--vip-state-soft: var(--color-primary-soft); --vip-card-soft: rgba(0, 0, 0, 0.05);
--vip-level: var(--color-ink-2);
position: relative; position: relative;
isolation: isolate;
min-width: 0; min-width: 0;
margin: 0 0 var(--space-5, 20px); margin: 0 0 16px;
padding: clamp(18px, 2.8vw, 28px) clamp(18px, 3vw, 30px); padding: 20px 16px 18px;
padding-inline-end: clamp(110px, 19vw, 180px); padding-inline-end: 84px;
overflow: hidden; overflow: hidden;
border: 1px solid var(--color-line-soft); box-sizing: border-box;
border-inline-start: 3px solid var(--vip-state); border-radius: var(--radius, 8px);
border-radius: var(--radius-lg, var(--radius, 8px)); background: var(--surface-1, #fff);
background-color: var(--surface-1);
background-image: linear-gradient(135deg, var(--vip-state-soft), transparent 52%);
box-shadow: var(--shadow-sm); box-shadow: var(--shadow-sm);
transition: border-color var(--dur, 0.25s) var(--ease, ease), box-shadow var(--dur, 0.25s) var(--ease, ease); color: var(--color-ink-2);
}
.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);
} }
/* Match the existing VIP1/VIP2 purchase-card gradients exactly. */
.uc-vip-summary[data-vip-level="1"] { .uc-vip-summary[data-vip-level="1"] {
--vip-level: var(--aksrt-vip-gold-2, var(--color-warning)); --vip-card-accent: #866127;
--vip-card-soft: rgba(246, 196, 83, 0.22);
background: linear-gradient(180deg, rgba(246, 196, 83, 0.16), rgba(255, 255, 255, 0.02)) !important;
} }
.uc-vip-summary[data-vip-level="2"] { .uc-vip-summary[data-vip-level="2"] {
--vip-level: var(--aksrt-indigo, var(--color-info)); --vip-card-accent: #6b4aa8;
--vip-card-soft: rgba(142, 68, 173, 0.16);
background: linear-gradient(180deg, rgba(142, 68, 173, 0.12), rgba(255, 255, 255, 0.02)) !important;
} }
/* Same compact watermark treatment as .uc-vip-level-card .vip-baicon. */
.uc-vip-summary__watermark { .uc-vip-summary__watermark {
position: absolute; position: absolute;
inset-inline-end: -0.08em; top: 6px;
top: 50%; right: 8px;
z-index: 0; z-index: 0;
color: var(--vip-state); width: auto;
font-size: clamp(96px, 10vw, 160px); color: var(--vip-card-accent);
font-size: 64px;
line-height: 1; line-height: 1;
opacity: 0.1; opacity: 0.08;
pointer-events: none; pointer-events: none;
transform: translateY(-50%);
} }
.uc-vip-summary__watermark i { .uc-vip-summary__watermark i {
@@ -87,9 +69,8 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
gap: var(--space-2, 8px); gap: 6px;
min-width: 0; min-width: 0;
max-width: 48rem;
text-align: left; text-align: left;
} }
@@ -97,120 +78,105 @@
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
gap: var(--space-2, 8px); gap: 8px;
width: 100%;
margin-bottom: 4px;
min-width: 0; min-width: 0;
} }
.uc-vip-status__label { .uc-vip-status__label {
margin: 0; margin: 0;
color: var(--color-ink); color: var(--vip-card-accent);
font-size: var(--text-lg, 1.25rem); font-size: 16px;
font-weight: 750; font-weight: 700;
letter-spacing: -0.02em; line-height: 1.3;
line-height: var(--leading-tight, 1.2);
} }
/* Keep state recognition textual, not as a glossy status pill. */
.uc-vip-status__state { .uc-vip-status__state {
display: inline-flex; color: var(--muted-2-color, var(--color-ink-4));
align-items: center; font-size: 12px;
min-height: var(--aksrt-badge-h, 22px); font-weight: 400;
padding: 3px 9px; line-height: 1.3;
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 { .uc-vip-status__main {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
gap: var(--space-2, 8px); gap: 10px;
min-width: 0; min-width: 0;
color: var(--vip-level); color: var(--vip-card-accent);
font-size: var(--text-lg, 1.25rem); font-size: 16px;
line-height: var(--leading-tight, 1.2); line-height: 1.3;
} }
.uc-vip-status__icon { .uc-vip-status__icon {
display: inline-grid; display: inline-flex;
place-items: center; align-items: center;
width: 34px; justify-content: center;
height: 34px; width: 36px;
height: 36px;
flex: 0 0 auto; flex: 0 0 auto;
border: 1px solid color-mix(in srgb, var(--vip-level) 32%, transparent); border-radius: 50%;
border-radius: var(--radius-xl, 12px); background: var(--vip-card-soft);
background: color-mix(in srgb, var(--vip-level) 12%, transparent); color: var(--vip-card-accent);
color: var(--vip-level);
font-size: 15px; font-size: 15px;
} }
.uc-vip-status__level { .uc-vip-status__level {
min-width: 0; min-width: 0;
overflow-wrap: anywhere; overflow-wrap: anywhere;
font-weight: 750; font-weight: 700;
} }
.uc-vip-status__desc, .uc-vip-status__desc,
.uc-vip-status__expiry { .uc-vip-status__expiry {
min-width: 0; min-width: 0;
overflow-wrap: anywhere; overflow-wrap: anywhere;
font-size: var(--text-sm, 0.875rem); color: var(--muted-2-color, var(--color-ink-4));
line-height: var(--leading-snug, 1.4); font-size: 13px;
line-height: 1.55;
} }
.uc-vip-status__desc { .uc-vip-status__desc {
color: var(--color-ink-3); margin-top: 0;
} }
.uc-vip-status__expiry { .uc-vip-status__expiry {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
gap: 6px; gap: 6px;
color: var(--vip-state); margin-top: 2px;
font-weight: 600;
} }
.uc-vip-status__expiry i { .uc-vip-status__expiry i {
color: var(--vip-card-accent);
font-size: 0.9em; font-size: 0.9em;
} }
@media (max-width: 767px) { @media (max-width: 767px) {
.uc-vip-summary { .uc-vip-summary {
padding: 18px 14px; padding: 18px 14px 16px;
padding-inline-end: 76px; padding-inline-end: 72px;
} }
.uc-vip-summary__watermark { .uc-vip-summary__watermark {
inset-inline-end: -0.14em; top: 6px;
font-size: clamp(82px, 27vw, 112px); right: 6px;
opacity: 0.08; font-size: 56px;
} }
.uc-vip-status { .uc-vip-status__heading {
gap: var(--space-2, 8px); margin-bottom: 3px;
}
.uc-vip-status__label {
font-size: var(--text-md, 1.125rem);
} }
} }
@media (max-width: 420px) { @media (max-width: 420px) {
.uc-vip-summary { .uc-vip-summary {
padding-inline-end: 62px; padding-inline-end: 64px;
} }
.uc-vip-summary__watermark { .uc-vip-summary__watermark {
font-size: 86px; font-size: 50px;
}
}
@media (prefers-reduced-motion: reduce) {
.uc-vip-summary {
transition: none;
} }
} }