How do I create a new HTML element from JavaScript? [duplicate]

I am beginner JavaScriptv developer, I am trying to develop a todo list app and I have been able to complete the design/frontend part of it. How do I create a new HTML element from JavaScript that gets the value from my input then uses that to create an HTML element while applying all the styles in my CSS.

// Theme Switch
const theme = document.getElementById("themeToggle");

theme.addEventListener('click', () => {
    document.body.classList.toggle('dark');

    if (document.body.classList.contains('dark')) {
        theme.src = "/images/icon-sun.svg"
    } else {
        theme.src = "/images/icon-moon.svg"
    }
});

// Input Value Todo
const todoInput = document.getElementById("input-todo");
const createTodo = document.getElementById("createTodo")

createTodo.addEventListener('click', (e) => {
        let value = todoInput.value;
        
})
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:100,200,300,regular,500,600,700);

:root {
    --header-desktop-image: url("images/bg-desktop-light.jpg");
    --header-mobile-image: url("images/bg-mobile-light.jpg");
    --theme-toggle-icon: url("images/icon-moon.svg");
  
    --bright-blue: hsl(220, 98%, 61%);
    --bg-color: hsl(0, 0%, 98%);
    --text-color: hsl(235, 19%, 35%);
    --todo-bg-color: #fff;
    --btn-text-color: hsl(236, 9%, 61%);
    --border-color: hsl(233, 11%, 84%);
    --hover-color: hsl(235, 19%, 35%);
    --shadow: rgba(0, 0, 0, 0.2);
}

.dark{
    --header-desktop-image: url("images/bg-desktop-dark.jpg");
    --header-mobile-image: url('images/bg-mobile-dark.jpg');
    --theme-toggle-icon: url("images/icon-sun.svg");

    --bright-blue: hsl(220, 98%, 61%);
    --bg-color: hsl(235, 21%, 11%);
    --text-color: hsl(234, 39%, 85%);
    --todo-bg-color: hsl(235, 24%, 19%);
    --cta-text-color: hsl(234, 11%, 52%);
    --border-color: hsl(237, 14%, 26%);
    --hover-color: hsl(236, 33%, 92%);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
    outline: none;
    text-decoration: none;
    font-family: "Josefin Sans", sans-serif;
}

body {
    background-color: var(--bg-color);
}

.header {
    width: 100%;
    height: 220px;
    background: var(--header-desktop-image);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: -1;
}

main {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 50px 30px 20px;
}

main header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

main header .logo h1 {
    color: white;
    letter-spacing: 7px;
    font-weight: 700;
}

main header img {
    cursor: pointer;
    width: 26px;
    height: 26px;
}

form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
    width: 100%;
    background-color: var(--todo-bg-color);
    padding: 0 9px;
    border-radius: 8px;

}

input[type="text"] {
    width: 100%;
    border: none;
    padding: 12px 8px;
    outline: none;
    font-size: 18px;
    background-color: var(--todo-bg-color);
}

.status{
    width: 18px;
    height: 17px;
    border-radius: 50%;
    border: 1px var(--text-color) solid;
    cursor: pointer;
}

ul {
    border-radius: 1vh;
    overflow: hidden;
}

ul .todo {
    width: 100%;
    padding: 16px;
    display: flex;
    align-items: center;
    list-style: none;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--todo-bg-color);
    color: var(--text-color);
}

ul .todo .todo_name {
    margin-left: 12px;
}

ul .todo .todo_name span {
    font-size: 16px;
    color: var(--text-color);
}

ul .footer {
    width: 100%;
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--todo-bg-color);
    color: var(--text-color);
}

ul .cta {
    margin-top: 30px;
    width: 100%;
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--todo-bg-color);
    color: var(--text-color);
}

ul .cta span {
    cursor: pointer;
    color: var(--cta-text-color);
}

.delete_btn {
    cursor: pointer;
    display: block;
    margin-right: 0;
    margin-left: auto;
}

.status-background{
    background: url("images/icon-check.svg"), linear-gradient(hsl(192, 100%, 67%), hsl(280, 87%, 65%));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.large_cta {
    display: none;
    cursor: pointer;
}

.clear_completed {
    cursor: pointer;
}

@media screen and (min-width: 768px) {
    main {
        margin: 0 auto;
        max-width: 80%;
    }

    .large_cta {
        display: block;
    }

    .large_cta span {
        margin-right: 15px;
    }

    li.cta {
        display: none;
    }
}

@media screen and (min-width: 960px) {
    main {
        margin: 0 auto;
        max-width: 60%;
    }

}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" type="image/png" sizes="32x32" href="./images/favicon-32x32.png">
  <link rel="stylesheet" href="style.css">
  <title>Todo app</title>
</head>
<body>
  <div class="header"></div>

  <main>
    <header>
      <div class="logo"><h1>TODO</h1></div>
      <img src="/images/icon-moon.svg" alt="sun-icon" id="themeToggle">
    </header>

    <form action="" class="form">
      <label for="input-todo" id="createTodo" class="status"></label>
      <input type="text" class="input-todo" id="input-todo" placeholder="Create a new todo...">
    </form>

    <ul>
      <li class="todo">
        <div class="status"></div>
        <div class="todo_name"><span>Need to charge phone</span></div>
        <div class="delete_btn"><img src="/images/icon-cross.svg" alt=""></div>
      </li>

      <li class="footer">
        <div class="items_left">
          <span class="left">5</span> 
          <span>items left</span>
        </div>

        <div class="large_cta">
          <span id="all">All</span>
          <span id="active">Active</span>
          <span id="Completed">Completed</span>
        </div>

        <div class="clear">
          <span class="clear_completed">Clear Completed</span>
        </div>
      </li>

      <li class="cta">
        <span id="all">All</span>
        <span id="active">Active</span>
        <span id="Completed">Completed</span>
      </li>
    </ul>
  </main>

  <script src="/main.js"></script>
</body>
</html>