:root {
  --bg: #f7f7f8;
  --card: #fff;
  --accent: radial-gradient(74.56% 52.05% at 50% 100%, rgba(88, 233, 255, 0.48) 0%, rgba(0, 0, 0, 0) 100%), #061B1E;
  --muted: #666;
  --font-1: rgba(6, 27, 30, 0.8);
  --font-2: rgba(6, 27, 30, 0.6);
  --font-3: rgba(6, 27, 30, 0.4);
  --font-4: rgba(6, 27, 30, 0.2);
}

html,
body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
}

button {
  cursor: pointer;
  transition: all 0.3s;
  font-family: 阿里妈妈方圆体 VF Regular;
}

button:hover {
  transform: scale(1.1);
}

svg {
  pointer-events: none;
}

@font-face {
  font-family: "阿里妈妈方圆体 VF Regular";
  src: url("//at.alicdn.com/wf/webfont/E8MsvTlikPPO/x78ufv2SOCHR.woff2") format("woff2"),
    url("//at.alicdn.com/wf/webfont/E8MsvTlikPPO/yvI55V8kQPo1.woff") format("woff");
  font-variation-settings: "BEVL"100, "wght"600;
  font-display: swap;
}

.webfont {
  font-family: "阿里妈妈方圆体 VF Regular";
  font-variation-settings: "BEVL"100, "wght"600;
  /* Chrome 140 以下版本需要 */
}

.checkbox {
  position: relative;
  display: flex;
  grid-gap: 8px;
  justify-content: center;
  align-items: center;
  background: #FFF;
  height: 36px;
  border-radius: 18px;
  padding: 0 12px;
}

.checkbox p {
  font-size: 14px;
  color: var(--font-1);
  margin: 0;
}

.checkbox .icon {
  display: block;
  height: 18px;
  width: 18px;
  border-radius: 9px;
  background: rgba(6, 27, 30, .1);
}

.on .icon {
  background: url("../img/checkbox_on.png");
  background-size: cover;
}

.off .icon {
  background: rgba(6, 27, 30, .1);
}

.checkbox input {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
}

.nav {
  height: 80px;
  width: 60%;
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  grid-gap: 12px;
  justify-content: space-between;
}

.nav .logo {
  height: 48px;
}

.wrap {
  position: absolute;
  left: calc(50% - 480px/2);
  top: calc(50% - 480px/2);
  transition: all 0.6s;
  transform-origin: top center;
  font-family: 阿里妈妈方圆体 VF Regular;
}

.title {
  text-align: center;
}

.card {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.drop {
  width: 480px;
  height: 480px;
  background: #FFFFFF;
  border: 1px solid rgba(6, 27, 30, 0);
  border-radius: 48px;
  text-align: center;
  cursor: pointer;
  transition: all .3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  grid-gap: 24px;
  box-sizing: border-box;
  cursor: pointer;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
}

.drop.hover {
  transform: scale(1.03);
  border: 1px solid rgba(6, 27, 30, 0.1);
  box-shadow: 0px 24px 32px rgba(0, 0, 0, 0.03);
}

.drop .dropTitle {
  font-size: 18px;
  color: var(--font-1);
}

.row {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  flex-wrap: wrap;
}

.btn-primary {
  position: absolute;
  bottom: 32px;
  padding: 10px 24px;
  border-radius: 29px;
  height: 58px;
  cursor: pointer;
  background: var(--accent);
  border: none;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  font-size: 16px;
  grid-gap: 8px;
  text-align: center;
}

.btn-close {
  position: absolute;
  right: 20px;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(6, 27, 30, 0.05);
  border-radius: 50px;
  border: 0px;
}

.progress {
  height: 14px;
  width: 80%;
  background: #eee;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 12px;
  pointer-events: none;
}

.progress>i {
  display: block;
  height: 100%;
  background: #061B1E;
  width: 0%;
  transition: width 0.3s ease-in-out;
}

.info {
  margin-left: auto;
  font-size: 13px;
  color: var(--muted);
}

input[type=file] {
  display: none;
}

.small {
  font-size: 13px;
  color: var(--muted);
  margin-top: 8px;
}

.notsuppport {
  text-align: center;
}

.notsuppport img {
  width: 120px;
}

.finishdialog {
  position: absolute;
  width: 480px;
  height: 480px;
  background: #FFFFFF;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(80px) scale(0.9);
  transform-origin: center;
  z-index: 9;
  font-family: 阿里妈妈方圆体 VF Regular;
}

.finishdialog .topbar {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
}

.finishdialog .topbar .title {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 4px;
}

.finishdialog .topbar p {
  margin: 0;
  font-size: 20px;
  color: var(--font-1);
}

.finishdialog .jsonname {
  margin: 24px 0 16px 0;
  font-size: 14px;
  color: var(--font-4);
  pointer-events: none;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

.finishdialog #lottie_firework {
  position: absolute;
  top: 0;
  pointer-events: none;
}

.finishdialog.show {
  animation: showFinishDialog 0.6s forwards;
}

.finishdialog.close {
  animation: closeFinishDialog 0.4s forwards;
}

.finishdialog .content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.finishdialog .illustration {
  width: 120px;
  height: 120px;
}

.finishdialog .content .title {
  display: flex;
  justify-content: center;
  grid-gap: 4px;
  font-size: 24px;
  padding-right: 16px;
}

.finishdialog .content .title img {
  width: 32px;
}

.finishdialog .filedate {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 16px;
}

.finishdialog .orgiSize {
  color: var(--font-1);
  font-size: 32px;
  margin: 0;
}

.finishdialog .outSize {
  font-size: 32px;
  margin: 0;
}

.toast {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  position: absolute;
  height: 48px;
  left: 50%;
  top: 15%;
  transform: translateX(-50%) translateY(-80px);
  background: rgba(6, 27, 30, 0.8);
  border-radius: 60px;
  color: #FFF;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  z-index: 999;
}

.toast #ic_fail, .toast #ic_success {
  display: none;
  width: 24px;
}

.toasTtext {
  font-size: 16px;
  margin: 0;
}

.show {
  animation: showtoast 2s;
}

.footer {
  position: absolute;
  bottom: 0;
  color: rgba(0, 0, 0, .2)
}

#lottie_running .bg {
  height: 176px;
  transition: all 0.3s;
}

#lottie_running canvas {
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
  transition: all 0.3s;
}

@keyframes showFinishDialog {
  from {
    transform: translateY(80px) scale(0.8);
    opacity: 0;
  }

  to {
    transform: translateY(0px) scale(1);
    opacity: 1;
  }
}

@keyframes closeFinishDialog {
  from {
    transform: translateY(0px) scale(1);
    opacity: 1;
  }

  to {
    transform: translateY(80px) scale(0.8);
    opacity: 0;
  }
}

@keyframes showtoast {
  0% {
    transform: translateX(-50%) translateY(-80px);
    opacity: 0;
  }

  25% {
    transform: translateX(-50%) translateY(0px);
    opacity: 1;
  }

  75% {
    transform: translateX(-50%) translateY(0px);
    opacity: 1;
  }

  100% {
    transform: translateX(-50%) translateY(-80px);
    opacity: 0;
  }
}

@keyframes arrowloop {
  0% {
    transform: translateY(0) rotate(-15deg);
  }

  50% {
    transform: translateY(10px) rotate(0);
  }

  100% {
    transform: translateY(0) rotate(-15deg);
  }
}