*{box-sizing:border-box;margin:0;padding:0}
.screen{
  width:100%;max-width:390px;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 32px 60px;
  margin:0 auto;
  overflow-y:auto;
}
.screen .logo{
  font-size:34px;font-weight:800;
  color:var(--green);letter-spacing:-0.5px;
  margin-bottom:22px;
}
.badr-wrap{
  width:18vh;
  margin-bottom:22px;
}
.badr-wrap img{width:100%;height:auto;display:block;animation:badrFloat 3s ease-in-out infinite;}
@keyframes badrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.welcome-text{
  font-size:30px;font-weight:800;color:#2C2C2A;
  text-align:center;line-height:1.3;
  margin-bottom:12px;
}
.sub-text{
  font-size:20px;font-weight:500;color:#888780;
  text-align:center;line-height:1.5;
  margin-bottom:40px;
}
.name-input{
  width:100%;
  font-size:28px;font-weight:700;
  text-align:center;
  border:none;
  border-bottom:4px solid var(--green);
  background:transparent;
  color:#2C2C2A;
  padding:12px 4px;
  outline:none;
  margin-bottom:36px;
}
.name-input::placeholder{color:#C8C6BE;font-weight:500;}
.name-input.shake{
  border-bottom-color:#e05050;
  animation:input-shake 0.4s ease;
}
@keyframes input-shake{
  0%,100%{transform:translateX(0);border-bottom-color:#e05050;}
  20%{transform:translateX(-8px);}
  40%{transform:translateX(8px);}
  60%{transform:translateX(-5px);}
  80%{transform:translateX(5px);}
}
.screen .start-btn{
  background:var(--green);color:#fff;border:none;
  border-radius:20px;padding:18px 40px;
  font-size:22px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 0 var(--green-dark);
  transition:transform 0.1s,box-shadow 0.1s;
  width:100%;
}
.screen .start-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--green-dark)}
.screen .start-btn:disabled{background:#C8C6BE;box-shadow:0 6px 0 #A8A6A0;cursor:default;}
