.startup { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 80; background: linear-gradient(160deg, #fff9f3, #fff0e2 65%, #f7edf7); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60rpx; box-sizing: border-box; overflow: hidden; color: #694c3f; } .glow { position: absolute; width: 520rpx; height: 520rpx; border-radius: 50%; background: radial-gradient(circle, #ffe1c2, transparent 70%); top: 18%; pointer-events: none; } .brand-wrap { position: relative; animation: breathe 2.4s ease-in-out infinite; } .brand { width: 172rpx; height: 172rpx; border-radius: 55rpx; box-shadow: 0 20rpx 60rpx #bd84551c; } .brand-name { font-size: 45rpx; font-weight: 600; letter-spacing: 5rpx; margin-top: 34rpx; } .brand-tagline { font-size: 23rpx; color: #9d7965; margin-top: 14rpx; letter-spacing: 2rpx; } .preparing, .connection-error { min-height: 170rpx; margin-top: 64rpx; text-align: center; position: relative; } .message { font-size: 25rpx; color: #886c5f; } .dots { display: flex; justify-content: center; gap: 12rpx; margin-bottom: 25rpx; } .dots view { width: 10rpx; height: 10rpx; border-radius: 50%; background: #d99a75; animation: pulse 1.2s ease-in-out infinite; } .dots view:nth-child(2) { animation-delay: 0.15s; } .dots view:nth-child(3) { animation-delay: 0.3s; } .error-copy { font-size: 23rpx; line-height: 1.8; color: #9d7965; margin-top: 15rpx; max-width: 570rpx; overflow-wrap: break-word; } .retry { font-size: 25rpx; background: #b95738; color: white; border-radius: 24rpx; padding: 0 44rpx; margin-top: 26rpx; line-height: 82rpx; } .retry::after { border: 0; } .failed .brand-wrap { animation: none; } .footer { position: absolute; bottom: calc(65rpx + env(safe-area-inset-bottom)); font-size: 20rpx; color: #a88c78; letter-spacing: 1rpx; } @keyframes breathe { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-10rpx) scale(1.025); } } @keyframes pulse { 0%, 100% { opacity: 0.35; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1.1); } }