/* ======= VARIABLES ======= */
:root{
    --bg:#ffffff;
    --surface:#ffffff;
    --text:#111;
    --muted:#666;
    --accent:#1b1b1b;
    --radius:16px;
    --glass:rgba(0,0,0,0.05);
    --transition:300ms;
}

/* DARK MODE VARIABLES */
:root.dark{
    --bg:#0a0a0a;
    --surface:#101010;
    --text:#f3f3f3;
    --muted:#aaa;
    --accent:#fff;
    --glass:rgba(255,255,255,0.06);
}
    
body.dark{ 
    --bg:#0a0a0a;
    --surface:#101010;
    --text:#f3f3f3;
    --muted:#aaa;
    --accent:#fff;
    --glass:rgba(255,255,255,0.06);
}

body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family: "Montserrat", sans-serif;
    padding:40px;
    transition:background var(--transition), color var(--transition);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: flex-start; 
}

.container{
    max-width:600px;
    margin:0 auto;
    width: 100%;
}

h1{
    margin:0 0 20px 0;
    font-size:32px;
    font-weight:800;
    text-align: center;
}

/* ===== TODO BOX ===== */
.todo-box{
    display:flex;
    gap:10px;
    background:var(--surface);
    padding:18px;
    border-radius:var(--radius);
    box-shadow:0 4px 20px var(--glass);
    margin-bottom: 20px;
}

.todo-input{
    flex:1;
    font-size:16px;
    padding:12px 16px;
    border:none;
    outline:none;
    border-radius:var(--radius);
    background:var(--glass);
    color:var(--text);
    transition:background var(--transition);
}
.todo-input::placeholder {
    color: var(--muted);
}
.todo-input:focus {
    box-shadow: 0 0 0 2px var(--accent);
}

.btn{
    padding:12px 20px;
    background:var(--accent);
    border-radius:var(--radius);
    border:none;
    color:var(--bg);
    font-weight:700;
    cursor:pointer;
    transition:opacity var(--transition), transform var(--transition), background var(--transition), color var(--transition);
}
.btn:hover{
    opacity:0.8;
    transform:translateY(-3px);
}
.btn:focus {
    box-shadow: 0 0 0 2px var(--muted);
}


/* ===== LIST ===== */
.todo-list{
    list-style:none;
    padding:0;
    margin-top:20px;
}

.todo-item{
    padding:16px 20px;
    background:var(--surface);
    border-radius:var(--radius);
    margin-bottom:12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 4px 20px var(--glass);
    transition:opacity var(--transition), background var(--transition);
    cursor: pointer;
}

.todo-item.done{
    opacity:0.4;
    text-decoration:line-through;
}
.todo-item.done .task-text {
    color: var(--muted);
}


.remove-btn{
    background:transparent;
    border:none;
    font-size:20px;
    cursor:pointer;
    color:var(--muted);
    transition:transform var(--transition), opacity var(--transition), color var(--transition);
}

.remove-btn:hover{
    transform:scale(1.3);
    opacity:0.6;
    color:var(--accent);
}

/* ===== THEME TOGGLE BUTTON STYLES ===== */
.theme-toggle {
    display: block;
    margin: 0 auto 30px auto;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 4px 20px var(--glass);
    padding: 10px 18px; 
    font-size: 20px;
    line-height: 1; 
    border-radius: var(--radius);
    width: fit-content;
    transition: all var(--transition);
}
.theme-toggle:hover {
    transform: scale(1.05);
    opacity: 1;
    box-shadow: 0 6px 25px var(--glass);
}