body{
  padding: 0;
  margin: 0;
  width: 100vw;
  height: 100vh;
}

.white{
  color: #ffffff;
}


h1,h2,h3,h4,h5,h6,p{
  padding: 0;
  margin: 0;
}

.flex-d{
  display: flex;
  align-items: center;
}

.ic1{
  font-size: 20px;
}

.ic2{
  font-size: 30px;
}

.ic3{
  font-size: 40px;
}

/* Inputs */
.field-wrap1{
  width: 100%;
}

.field-wrap1 p{
  font-size: 14px;
  color: #126;
  font-family: 'acme';
  font-weight: bold;
}

.field-wrap1 input{
  outline: none;
  border: 2px solid rgba(140,140,140,0.1);
  height: 30px;
  padding: 20px 8px;
  border-radius: 8px;
  font-weight: bold;
  margin-top: 3px;
  font-size: 17px;
  width: 100%;
  color: #136;
  background: rgba(100,100,100,0.06);
}

.field-wrap1 input::placeholder{
  font-size: 13px;
  font-weight: normal;
  color: #ccc;
}



/* Buttons */
.button-pry{
  background: #2258FF;
  color: white;
  height: 30px;
  border: none;
  outline: none;
  border-radius: 9px;
  box-shadow: 0px 7px 14px rgba(0,0,0,0.18);
  padding: 22px 2px !important;
  ttransition: all 0.2 ease;
  cursor: pointer;
}

.button-pry:active{
  transform: translateY(3px);
  box-shadow: 0px 2px 6px rgba(0,0,0,0.15);
}



.button-pry ion-icon{
  font-size: 16px;
}

.button-pry span{
  margin-left: 3px;
  font-weight: bold;
  font-size: 16px;
  margin-top: 3px;
}

/* Info, warnings (contaniers and styles) */

.info1{
  margin-top: 15px;
  background: rgba(60,200,10,0.2);
  padding: 6px;
  border-radius: 5px;
}

.info1 ion-icon{
  color: rgba(60,200,10,1);
}

.info1 span{
  margin-left: 3px;
  color: rgba(60,200,10,1);
  font-size: 14px;
}

.warn1{
  margin-top: 15px;
  background: rgba(250,10,10,0.2);
  padding: 6px;
  border-radius: 5px;
}

.warn1 ion-icon{
  color: rgba(250,10,10,1);
}

.warn1 span{
  margin-left: 3px;
  color: rgba(250,10,10,1);
  font-size: 14px;
}

.container{
  width: 100%;
  height: 100%;
}

h1,h2,h3,h4,h5,h6,p{
  padding: 0;
  margin: 0;
}


/* margins */

.mt1{
  margin-top: 3px;
}

.mt2{
  margin-top: 5px;
}

.mt3{
  margin-top: 10px;
}

.mt4{
  margin-top: 15px;
}


/* =========================
      PREMIUM SNACKBAR
========================= */

.snackbar{
  position: fixed;
  left: 50%;
  bottom: 95px;
  transform: translateX(-50%) translateY(25px) scale(.96);
  width: min(88%, 420px);
  min-height: 56px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  background: rgba(17, 24, 39, 0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 18px 40px rgba(0,0,0,0.18),
    0 4px 10px rgba(0,0,0,0.08);
  border-radius: 18px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}

/* subtle moving shine */
.snackbar::before{
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,0.08) 50%,
    transparent 80%
  );

  transform: translateX(-130%);
  animation: snackbarShine 4.5s ease-in-out infinite;
}

/* tiny top accent line */
.snackbar::after{
  content: "";
  position: absolute;
  top: 0;
  left: 18px;

  width: 40%;
  height: 1px;

  background: linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.5),
    rgba(255,255,255,0)
  );

  opacity: .7;
}

.snackbar p{
  position: relative;
  z-index: 2;

  color: #fff;
  font-size: 13.5px;
  line-height: 1.4;

  font-weight: 600;
  letter-spacing: -.01em;

  font-family: 'Inter', sans-serif;

  text-align: center;
}

/* optional icon support */
.snackbar .material-icons,
.snackbar i{
  position: relative;
  z-index: 2;

  font-size: 18px;
  color: #fff;
  opacity: .9;
}

/* visible state */
.snackbar.show{
  animation: premiumSnackbar 4.2s cubic-bezier(.16,.84,.44,1) forwards;
}

/* =========================
        ANIMATIONS
========================= */

@keyframes premiumSnackbar{

  0%{
    opacity: 0;
    transform: translateX(-50%) translateY(35px) scale(.94);
  }

  10%{
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }

  82%{
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }

  100%{
    opacity: 0;
    transform: translateX(-50%) translateY(-12px) scale(.98);
  }

}

@keyframes snackbarShine{

  0%{
    transform: translateX(-130%);
    opacity: 0;
  }

  20%{
    opacity: .6;
  }

  50%{
    transform: translateX(130%);
    opacity: .12;
  }

  100%{
    transform: translateX(130%);
    opacity: 0;
  }

}