* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    background-color: hsla(292, 99%, 64%, 0.287);
    display: flex;
    font-family: verdana;
    height: 100vh;
    justify-content: center;
    align-items: center;
}

.container {
    border: 2px solid;
    border-radius: 10px;
    background-color: hsl(0, 9%, 96%);
    width: clamp(350px, 50vw, 800px);
    height: 600px;
    flex-direction: column;
    overflow: hidden;
    display: flex;
    box-shadow: 2px 2px 10px 5px rgba(0, 0, 0, 0.184);
    align-items: center;
}

h1{
    padding: 10px 20px;
    text-align: center;
    font-size: clamp(1.5em, 5vw, 2.2em);
    background-color: blueviolet;
    color: #fff;
    width: 100%;
}

.input_area{
    display: flex;
    width: 100%;
    align-items: center;
    padding: 0 5px;
    text-align: center;
    justify-content: center;
}

#task_input{
    margin: 20px auto;
    font-size: clamp(0.3em, 3.8vw, 1.5em);
    width: 70%;
    border: 2px solid blueviolet;
    border-radius: 5px;
    text-align: start;
    padding: 10px;
}

#add_btn{
    font-size: clamp(0.8em, 4vw, 1.5em);
    color: #fff;
    border-radius: 5px;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    background-color: blueviolet;
    text-align: center;
    align-items: center;
    transition: all 0.2s ease;
}

#add_btn:hover{
    transform: scale(105%);
    background-color: darkviolet;
}

#add_btn:active{
    background-color: rgb(115, 4, 194);
    transform: scale(97%);
}

.content_area{
    flex: 1;
    display: flex;
    width: 100%;
    background-color: #fff;
    flex-direction: column;
    
}    
.filter_area {
    display: flex;
    width: 100%;
    justify-content: start;
    align-items: center;
}

.filter_btn{
    border: none;
    font-size: clamp(0.6em, 2.5vw, 1.2em);
    text-align: center;
    background-color: #fff;
    margin: 5px 10px;
    padding: 10px 5px;
    cursor: pointer;
    border-bottom: 2px none blueviolet;
    transition: all 0.2s ease;
}

.filter_btn:hover{
    transform: translateY(-2px);
    opacity: 0.6;
}

.filter_btn:active{
    transform: translateY(0);
    opacity: 1;
}

#all_btn{
    border-bottom: 2px solid blueviolet;
}

#clear_btn{
    margin-left: auto;
    margin-right: 10px;
    font-size: clamp(0.4em, 2vw, 1em);
    color: darkviolet;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

#clear_btn:hover{
    transform: scale(102%);
    opacity: 0.6;
}

#clear_btn:active{
    color: rgb(115, 4, 194);
    opacity: 1;
    transform: scale(98%);
}

ul{    
    overflow-y: auto;
    height: 400px;
}

li{
    display: flex;
    align-items: center;
    padding: 10px;
}

.checkbox{
    margin: 0 20px;
    transform: scale(clamp(0.8, 2vw, 1.5));
    cursor: pointer;
}

.task_name{
    word-break: break-word;
    font-size: clamp(0.4em, 3vw, 1.4em);
}

.task_time {
    margin-left: auto;
    margin-right: 20px;
    font-size: clamp(0.2em, 1.2vw, 0.8em);
    color: gray;
}

.delete_btn {
    font-size: clamp(0.8em, 2.5vw, 1.2em);
    font-weight: 700;
    cursor: pointer;
    aspect-ratio: 1;
    max-height: 40px;
    user-select: none;
    min-height: 25px;
    background-color: red;
    border-radius: 5px;
    color: #fff;
    border: none;
    transition: all 0.2s ease;
}

.delete_btn:hover{
    transform: scale(105%);
    background-color: rgb(211, 15, 15);
}

.delete_btn:active{
    transform: scale(97%);
}
