body { background-color: #fff; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; } .custom-header { position: fixed; top: 0; left: 0; width: 100%; height: 2.75rem; padding-top: var(--status-bar-height); background-color: #fff; display: flex; align-items: center; justify-content: space-between; padding-left: 0.9375rem; padding-right: 0.9375rem; box-sizing: border-box; z-index: 100; } .header-placeholder { height: calc(2.75rem + var(--status-bar-height)); } .back-icon { width: 1.25rem; height: 1.25rem; } .header-title { font-size: 1rem; font-weight: bold; color: #333; } .header-right { width: 1.25rem; } .swiper-container { position: relative; padding-bottom: 0.9375rem; } .level-swiper { height: 11.25rem; margin-top: 0.625rem; } .level-card { height: 10rem; border-radius: 0.9375rem; margin: 0 0.3125rem; transition: transform 0.3s; overflow: hidden; position: relative; box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.1); background-color: #eee; } .card-content { padding: 0.9375rem; position: relative; z-index: 2; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; } .card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: auto; } .level-badge { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.6); padding: 0.0625rem 0.375rem; border-radius: 0.3125rem; font-size: 0.75rem; color: #fff; } .current-badge { background-color: rgba(255,255,255,0.9); color: #333; font-size: 0.625rem; padding: 0.125rem 0.375rem; border-radius: 0.625rem; font-weight: bold; } .level-name { font-size: 1.375rem; font-weight: bold; color: #fff; margin-bottom: 0.3125rem; text-shadow: 0 0.0625rem 0.125rem rgba(0,0,0,0.2); } .level-score { font-size: 0.75rem; color: rgba(255,255,255,0.9); margin-bottom: 0.625rem; } .crown-overlay { position: absolute; bottom: -0.9375rem; right: -0.9375rem; width: 8.125rem; height: 8.125rem; opacity: 0.15; z-index: 1; } .swiper-dots { display: flex; justify-content: center; margin-top: 0.3125rem; } .dot { width: 0.375rem; height: 0.375rem; background-color: #E0E0E0; border-radius: 50%; margin: 0 0.1875rem; transition: all 0.3s; } .dot.active { width: 0.75rem; background-color: #333; border-radius: 0.1875rem; } .benefits-title-row { padding: 0.625rem 0.9375rem; display: flex; align-items: baseline; } .benefits-title { font-size: 1rem; font-weight: bold; color: #333; } .benefits-count { font-size: 0.875rem; color: #999; margin-left: 0.3125rem; } .benefits-grid { display: flex; flex-wrap: wrap; padding: 0 0.625rem; } .benefit-item { width: 25%; display: flex; flex-direction: column; align-items: center; margin-bottom: 0.9375rem; } .benefit-icon-wrapper { width: 2.75rem; height: 2.75rem; background-color: #F8F8F8; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; margin-bottom: 0.375rem; } .benefit-icon { width: 1.375rem; height: 1.375rem; } .benefit-name { font-size: 0.6875rem; color: #666; text-align: center; } .empty-benefits { width: 100%; padding: 1.875rem 0; text-align: center; color: #ccc; font-size: 0.8125rem; } .popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.5); z-index: 999; display: none; align-items: center; justify-content: center; } .popup-mask.show { display: flex; } .popup-modal { width: 16.25rem; background-color: #fff; border-radius: 0.9375rem; padding: 1.5625rem 1.25rem; display: flex; flex-direction: column; align-items: center; box-shadow: 0 0.3125rem 1.25rem rgba(0,0,0,0.2); } .popup-icon-wrapper { width: 3.75rem; height: 3.75rem; background-color: #FFF8E1; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 0.9375rem; } .benefit-icon-large { width: 1.875rem; height: 1.875rem; } .popup-title { font-size: 1.0625rem; font-weight: bold; color: #333; margin-bottom: 0.625rem; } .popup-desc { font-size: 0.875rem; color: #666; text-align: center; line-height: 1.6; margin-bottom: 1.25rem; } .popup-btn { width: 90%; height: 2.5rem; line-height: 2.5rem; background: linear-gradient(90deg, #333 0%, #111 100%); color: #fff; font-size: 0.875rem; border-radius: 1.25rem; }