@charset "UTF-8"; /** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ .control-tab.data-v-8a6686ca { padding: 24rpx 24rpx 40rpx; box-sizing: border-box; background: #f5f6f7; min-height: 100%; padding-top: 50rpx; } .status-card.data-v-8a6686ca { border-radius: 24rpx; display: flex; flex-direction: column; align-items: center; margin-bottom: 28rpx; } .status-icon.data-v-8a6686ca { width: 56rpx; height: 56rpx; border-radius: 50%; border: 6rpx solid #3aa273; border-right-color: transparent; -webkit-transform: rotate(30deg); transform: rotate(30deg); margin-bottom: 12rpx; } .status-title.data-v-8a6686ca { font-size: 32rpx; color: #222; font-weight: 600; margin-bottom: 6rpx; margin-top: 20rpx; } .status-subtitle.data-v-8a6686ca { font-size: 26rpx; color: #35a06f; } .grid-card.data-v-8a6686ca { position: relative; background: #fff; margin-top: 100rpx; border-radius: 24rpx; padding: 28rpx 0; display: grid; grid-template-columns: 1fr 2rpx 1fr; grid-template-rows: auto 2rpx auto; width: 648rpx; margin: auto; } .grid-item.data-v-8a6686ca { width: 324rpx; height: 360rpx; display: flex; padding: 40rpx 60rpx; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; } .grid-label.data-v-8a6686ca { font-size: 26rpx; color: #7a7f85; margin-bottom: 24rpx; } .grid-icon.data-v-8a6686ca { width: 120rpx; height: 120rpx; border-radius: 60rpx; background: #000; } .icon-ring.data-v-8a6686ca { background: none; border: 12rpx solid #000; border-radius: 60rpx; } .icon-ring-small.data-v-8a6686ca { background: none; border: 12rpx solid #000; border-radius: 60rpx; -webkit-clip-path: inset(0 18rpx 0 0); clip-path: inset(0 18rpx 0 0); } .icon-rotate.data-v-8a6686ca { background: none; position: relative; border: 12rpx solid #000; border-radius: 60rpx; } .icon-rotate.data-v-8a6686ca:after { content: ""; position: absolute; right: -8rpx; bottom: -8rpx; width: 28rpx; height: 28rpx; background: #000; border-radius: 50%; } .icon-bang.data-v-8a6686ca { display: flex; align-items: center; justify-content: center; background: #000; color: #fff; font-weight: 700; } .icon-bang.data-v-8a6686ca:after { content: "!"; color: #fff; font-size: 64rpx; line-height: 1; } .divider-vertical.data-v-8a6686ca { width: 2rpx; background: #eee; } .divider-horizontal.data-v-8a6686ca { height: 2rpx; background: #eee; grid-column: 1/4; } /* 弹窗样式 */ .modal-overlay.data-v-8a6686ca { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; justify-content: flex-end; z-index: 9999; } .countdown-modal.data-v-8a6686ca, .location-modal.data-v-8a6686ca { background: #f5f6f7; border-radius: 32rpx 32rpx 0 0; padding: 80rpx 60rpx 80rpx; width: 100%; bottom: 120rpx; display: flex; flex-direction: column; align-items: center; position: relative; min-height: 60vh; box-sizing: border-box; -webkit-animation: modal-slide-up-data-v-8a6686ca 0.3s cubic-bezier(0.4, 0, 0.2, 1); animation: modal-slide-up-data-v-8a6686ca 0.3s cubic-bezier(0.4, 0, 0.2, 1); } @-webkit-keyframes modal-slide-up-data-v-8a6686ca { 0% { -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes modal-slide-up-data-v-8a6686ca { 0% { -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } .progress-circle.data-v-8a6686ca { position: relative; width: 240rpx; height: 240rpx; margin-bottom: 60rpx; } .progress-ring.data-v-8a6686ca { position: absolute; top: 0; left: 0; width: 240rpx; height: 240rpx; border-radius: 50%; border: 12rpx solid #e8e9ea; transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; } .countdown-ring.data-v-8a6686ca { border-top: 12rpx solid #ec5a5a; border-right: 12rpx solid #ec5a5a; border-bottom: 12rpx solid transparent; border-left: 12rpx solid transparent; -webkit-transform-origin: center; transform-origin: center; -webkit-animation: location-spin-data-v-8a6686ca 1.5s linear infinite; animation: location-spin-data-v-8a6686ca 1.5s linear infinite; transition: -webkit-transform 0.1s ease-out; transition: transform 0.1s ease-out; transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out; } .location-ring.data-v-8a6686ca { border-top: 12rpx solid #ec5a5a; -webkit-animation: location-spin-data-v-8a6686ca 1.5s linear infinite; animation: location-spin-data-v-8a6686ca 1.5s linear infinite; transition: -webkit-transform 0.1s ease-out; transition: transform 0.1s ease-out; transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out; } @-webkit-keyframes location-spin-data-v-8a6686ca { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes location-spin-data-v-8a6686ca { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .countdown-number.data-v-8a6686ca { position: absolute; top: 50%; left: 54%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); font-size: 120rpx; font-weight: bold; color: #ec5a5a; line-height: 1; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); -webkit-animation: number-pulse-data-v-8a6686ca 1s ease-in-out infinite; animation: number-pulse-data-v-8a6686ca 1s ease-in-out infinite; } @-webkit-keyframes number-pulse-data-v-8a6686ca { 0%, 100% { -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); } 50% { -webkit-transform: translate(-50%, -50%) scale(1.05); transform: translate(-50%, -50%) scale(1.05); } } @keyframes number-pulse-data-v-8a6686ca { 0%, 100% { -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); } 50% { -webkit-transform: translate(-50%, -50%) scale(1.05); transform: translate(-50%, -50%) scale(1.05); } } .location-icon.data-v-8a6686ca { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 80rpx; height: 80rpx; } .location-pin.data-v-8a6686ca { width: 20rpx; height: 20rpx; background: #ec5a5a; border-radius: 50%; position: absolute; top: 50%; left: 60%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 3; box-shadow: 0 0 0 6rpx rgba(255, 107, 53, 0.3); } .location-pin.data-v-8a6686ca::after { content: ""; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 32rpx; height: 32rpx; background: #ec5a5a; border-radius: 50% 50% 50% 0; -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); } .location-waves.data-v-8a6686ca { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 80rpx; height: 80rpx; } .wave.data-v-8a6686ca { position: absolute; top: 50%; left: 60%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); border: 2rpx solid #ec5a5a; border-radius: 50%; opacity: 0.6; -webkit-animation: wave-animation-data-v-8a6686ca 2s ease-out infinite; animation: wave-animation-data-v-8a6686ca 2s ease-out infinite; } .wave1.data-v-8a6686ca { width: 40rpx; height: 40rpx; -webkit-animation-delay: 0s; animation-delay: 0s; } .wave2.data-v-8a6686ca { width: 60rpx; height: 60rpx; -webkit-animation-delay: 0.67s; animation-delay: 0.67s; } .wave3.data-v-8a6686ca { width: 80rpx; height: 80rpx; -webkit-animation-delay: 1.33s; animation-delay: 1.33s; } @-webkit-keyframes wave-animation-data-v-8a6686ca { 0% { -webkit-transform: translate(-50%, -50%) scale(0.3); transform: translate(-50%, -50%) scale(0.3); opacity: 1; } 50% { -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); opacity: 0.6; } 100% { -webkit-transform: translate(-50%, -50%) scale(1.8); transform: translate(-50%, -50%) scale(1.8); opacity: 0; } } @keyframes wave-animation-data-v-8a6686ca { 0% { -webkit-transform: translate(-50%, -50%) scale(0.3); transform: translate(-50%, -50%) scale(0.3); opacity: 1; } 50% { -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); opacity: 0.6; } 100% { -webkit-transform: translate(-50%, -50%) scale(1.8); transform: translate(-50%, -50%) scale(1.8); opacity: 0; } } .modal-title.data-v-8a6686ca { font-size: 36rpx; color: #333; margin-bottom: 80rpx; text-align: center; font-weight: 500; } .cancel-btn.data-v-8a6686ca { width: 100%; max-width: 500rpx; height: 100rpx; background: #ec5a5a; color: #fff; border: none; border-radius: 50rpx; font-size: 36rpx; font-weight: 500; display: flex; align-items: center; justify-content: center; box-shadow: 0 8rpx 24rpx rgba(255, 107, 53, 0.3); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); margin-top: auto; position: relative; overflow: hidden; } .cancel-btn.data-v-8a6686ca::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s; } .cancel-btn.data-v-8a6686ca:hover::before { left: 100%; } .cancel-btn.data-v-8a6686ca:active { background: #e55a2b; -webkit-transform: translateY(2rpx) scale(0.98); transform: translateY(2rpx) scale(0.98); box-shadow: 0 4rpx 12rpx rgba(255, 107, 53, 0.3); }