/* VIP 会员中心 - 深色主题优先,会员感、控制台感、资产感 */ .root { min-height: 100vh; background: var(--background); color: var(--foreground); } .header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; max-width: 1200px; margin: 0 auto; } @media (max-width: 640px) { .header { padding: 0.75rem 1rem; } } .logo { font-size: 1.25rem; font-weight: 700; color: var(--foreground); text-decoration: none; } .logo:hover { color: var(--accent); } .nav { display: flex; align-items: center; gap: 0.75rem; } .loginLink { font-size: 0.9rem; color: var(--muted-foreground); text-decoration: none; } .loginLink:hover { color: var(--accent); } .userBadge { font-size: 0.875rem; color: var(--accent); font-weight: 500; } .main { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem 2rem; } @media (max-width: 640px) { .main { padding: 0 1rem 1.5rem; } } /* 区块通用 */ .section { padding: 1.5rem 0; } .sectionTitle { font-size: 1.25rem; font-weight: 600; color: var(--foreground); margin: 0 0 1rem; } .sectionDesc { font-size: 0.9rem; color: var(--muted-foreground); margin: 0 0 1rem; line-height: 1.5; } /* 卡片 */ .card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.25rem; transition: border-color 0.2s, box-shadow 0.2s; } .card:hover { border-color: rgba(245, 158, 11, 0.3); } /* 大数字 */ .bigNumber { font-size: 2rem; font-weight: 700; color: var(--accent); line-height: 1.2; } @media (min-width: 640px) { .bigNumber { font-size: 2.5rem; } } .bigNumberLabel { font-size: 0.8rem; color: var(--muted-foreground); margin-top: 0.25rem; } /* 按钮 */ .btnPrimary { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.75rem; font-size: 1rem; font-weight: 600; color: var(--accent-foreground); background: var(--accent); border: none; border-radius: 12px; cursor: pointer; text-decoration: none; transition: opacity 0.2s, transform 0.15s; } .btnPrimary:hover { opacity: 0.95; transform: translateY(-1px); } .btnSecondary { display: inline-flex; align-items: center; padding: 0.75rem 1.5rem; font-size: 0.95rem; font-weight: 500; color: var(--muted-foreground); background: transparent; border: 1px solid var(--border); border-radius: 12px; text-decoration: none; cursor: pointer; transition: border-color 0.15s, color 0.15s; } .btnSecondary:hover { border-color: var(--accent); color: var(--accent); } .btnLarge { padding: 1rem 2.5rem; font-size: 1.1rem; } /* 资产统计网格 */ .statsGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } @media (min-width: 640px) { .statsGrid { grid-template-columns: repeat(5, 1fr); } } .statsGrid4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } @media (min-width: 640px) { .statsGrid4 { grid-template-columns: repeat(4, 1fr); } } /* 模块网格 */ .topicGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } @media (min-width: 640px) { .topicGrid { grid-template-columns: repeat(4, 1fr); } } .topicCard { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1.25rem 1rem; background: var(--card); border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color 0.2s, transform 0.2s; } .topicCard:hover { border-color: rgba(245, 158, 11, 0.4); transform: translateY(-2px); } .topicIcon { font-size: 2rem; line-height: 1; } .topicTitle { font-size: 1rem; font-weight: 600; color: var(--foreground); } .topicDesc { font-size: 0.8rem; color: var(--muted-foreground); } /* Loading */ .loading { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; background: var(--background); color: var(--foreground); } .loadingSpinner { width: 40px; height: 40px; border: 3px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }