@charset "UTF-8";

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

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #04192d;
    color: #fff;
    min-height: 100vh;
}

/* -------------- */
/* Nav */
/* -------------- */

nav {
    padding: 1rem 2rem;
    border-bottom: 1px solid #0a2a45;
}

nav a {
    color: #4a9aba;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.3s ease;
}

nav a:hover {
    color: #fff;
}

/* -------------- */
/* Main */
/* -------------- */

main {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem;
    gap: 1.5rem;
}

main h1 {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    background: linear-gradient(135deg, #cd6f9e, #553fa6);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.intro {
    color: #4a9aba;
    font-size: 0.875rem;
}

.intro code {
    background: #0a2a45;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    color: #cd6f9e;
}

/* -------------- */
/* Todo Liste */
/* -------------- */

.todolist {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.todolist_container {
    width: 100%;
    max-width: 480px;
    padding: 25px 40px 25px 25px;
    border: 2px solid #0a2a45;
    border-radius: 15px;
    background-color: #061624;
}

.todolist_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 30px 0;
    font-size: 1.1rem;
    gap: 1rem;
}

.todolist_row p {
    color: #e8e8e8;
}

/* Checkbox */
label.todo_label {
    position: relative;
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}

input.todo_input {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.todo_text {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    border: 3px solid #4a9aba;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.todo_input:checked ~ .todo_text {
    border-color: #b80c93;
}

/* Checkmark Animation */
.todo_text::after {
    content: '';
    position: absolute;
    left: 14px;
    bottom: 10px;
    width: 0;
    height: 0;
    border: solid #b80c93;
    border-width: 0 5px 5px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}

.todo_input:checked ~ .todo_text::after {
    width: 16px;
    height: 32px;
    opacity: 1;
}