.member-service { width: 100%; min-height: 100vh; background: radial-gradient(circle at 15% 10%, rgba(139, 38, 50, 0.12) 0%, transparent 45%), radial-gradient(circle at 85% 20%, rgba(193, 124, 74, 0.14) 0%, transparent 50%), radial-gradient(circle at 50% 100%, rgba(139, 38, 50, 0.10) 0%, transparent 55%), var(--page-bg); display: flex; flex-direction: column; position: relative; overflow: hidden; } .member-service::before { content: ''; position: absolute; top: -120px; right: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(139, 38, 50, 0.08) 0%, transparent 70%); pointer-events: none; } .member-service::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(193, 124, 74, 0.10) 0%, transparent 70%); pointer-events: none; } .header { padding: 48px 20px 32px; text-align: center; color: var(--brand-color-dark); display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1; } .header-logo { width: 120px; height: 120px; border-radius: 50%; object-fit: contain; background: #fff; padding: 6px; margin-bottom: 16px; box-shadow: 0 8px 24px rgba(139, 38, 50, 0.18); } .title { font-size: 28px; font-weight: 600; margin-bottom: 12px; letter-spacing: 4px; color: var(--brand-color-dark); text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6); } .subtitle { font-size: 16px; opacity: 0.9; letter-spacing: 1px; } .content { flex: 1; padding: 0 20px 40px; max-width: 600px; margin: 0 auto; width: 100%; position: relative; z-index: 1; } .login-card { background: var(--surface-bg); border-radius: var(--radius-lg); padding: 32px 24px; margin-bottom: 20px; display: flex; align-items: center; box-shadow: var(--shadow-elevated); cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .login-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; transition: width 0.3s ease; } .login-card.personal::before, .login-card.company::before, .login-card.rules::before { background: var(--brand-color); } .login-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); } .login-card:hover::before { width: 6px; } .login-card:active { transform: translateY(-2px); } .card-icon { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 20px; flex-shrink: 0; } .login-card.personal .card-icon, .login-card.company .card-icon, .login-card.rules .card-icon { background: linear-gradient(135deg, var(--brand-color-light) 0%, #f3c8ce 100%); } .card-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; } .card-title { font-size: 20px; font-weight: 600; color: var(--text-primary); margin: 0; line-height: 1.3; word-break: break-word; } .card-desc { font-size: 14px; color: var(--text-secondary); margin: 0; line-height: 1.4; word-break: break-word; } .card-arrow { margin-left: 16px; flex-shrink: 0; } /* 学会联系方式卡片 */ .contact-card { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); border: 1px solid rgba(139, 38, 50, 0.12); border-radius: 16px; padding: 20px 24px; margin-top: 8px; box-shadow: 0 4px 16px rgba(139, 38, 50, 0.08); } .contact-header { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px dashed rgba(139, 38, 50, 0.18); } .contact-header svg { flex-shrink: 0; } .contact-title { font-size: 16px; font-weight: 600; color: var(--brand-color-dark); letter-spacing: 1px; } .contact-list { list-style: none; padding: 0; margin: 0; } .contact-item { display: flex; align-items: flex-start; padding: 8px 0; font-size: 14px; line-height: 1.6; } .contact-item + .contact-item { border-top: 1px solid rgba(139, 38, 50, 0.06); } .contact-label { flex-shrink: 0; width: 72px; color: var(--text-tertiary); font-size: 13px; } .contact-value { flex: 1; color: var(--text-primary); word-break: break-all; } .contact-phone { color: var(--brand-color); font-weight: 600; text-decoration: none; letter-spacing: 0.5px; } .contact-phone:active { opacity: 0.7; } .footer { padding: 20px; text-align: center; color: rgba(93, 26, 34, 0.65); font-size: 12px; position: relative; z-index: 1; } /* 移动端适配 */ @media screen and (max-width: 375px) { .title { font-size: 24px; letter-spacing: 3px; } .header-logo { width: 100px; height: 100px; } .login-card { padding: 24px 20px; } .card-icon { width: 56px; height: 56px; } .card-icon svg { width: 48px; height: 48px; } .card-title { font-size: 18px; } } @media screen and (min-width: 768px) { .content { padding: 0 40px 60px; } .header-logo { width: 140px; height: 140px; } .title { font-size: 32px; } .login-card { padding: 40px 32px; } .card-icon { width: 72px; height: 72px; } .card-icon svg { width: 72px; height: 72px; } .card-title { font-size: 22px; } } /* 适配iPhone X及以上机型的安全区域 */ @supports (padding: max(0px)) { .footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); } }