*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:#ece5dd;
}

/* HEADER */
.header{
  display:flex;
  align-items:center;
  padding:10px;
  background:#075e54;
  color:white;
}
.dp{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
}
.user{margin-left:10px}
.status{font-size:12px;color:#d0f0e8}

/* CHAT */
.chat{
  height:calc(100vh - 120px);
  padding:10px;
  overflow-y:auto;
}

/* MESSAGE */
.msg{
  max-width:75%;
  padding:8px 10px;
  margin:6px 0;
  border-radius:8px;
  font-size:14px;
  clear:both;
}

.msg.left{
  background:#fff;
  float:left;
  border-top-left-radius:0;
}
.msg.right{
  background:#dcf8c6;
  float:right;
  border-top-right-radius:0;
  text-align:right;
}

/* IMAGE MESSAGE */
.msg img{
  max-width:100%;
  border-radius:6px;
  display:block;
}

/* SYSTEM */
.msg.system{
  background:#d1d1d1;
  float:none;
  margin:10px auto;
  text-align:center;
  font-size:12px;
}

/* TIME */
.time{
  font-size:10px;
  color:#555;
  margin-left:6px;
}

/* INPUT */
.input-bar{
  display:flex;
  padding:8px;
  background:white;
}
.input-bar input{
  flex:1;
  padding:10px;
  border-radius:20px;
  border:1px solid #ccc;
}
.input-bar button{
  margin-left:6px;
  border:none;
  background:#075e54;
  color:white;
  width:42px;
  height:42px;
  border-radius:50%;
}

/* CALL */
.call-screen{
  display:none;
  position:fixed;
  inset:0;
  background:#000;
  color:white;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:999;
}

.call-dp{
  width:120px;
  height:120px;
  border-radius:50%;
  margin-bottom:15px;
}

.slide-box{
  position:absolute;
  bottom:50px;
  width:100%;
  display:flex;
  justify-content:center;
}

.slide-btn{
  width:80px;
  height:80px;
  animation:vibrate 1.2s infinite;
  cursor:pointer;
}

@keyframes vibrate{
  0%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
  100%{transform:translateY(0)}
}

/* VIDEO */
.video-screen{
  display:none;
  position:fixed;
  inset:0;
  background:black;
  z-index:999;
}
.video-screen video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.video-screen .cut{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  width:80px;
}