:root {
    --bg-start: #4facfe;
    --bg-end: #00f2fe;
    --panel-bg: rgba(255, 255, 255, 0.15);
    --panel-strong: rgba(255, 255, 255, 0.25);
    --card-bg: rgba(255, 255, 255, 0.2);
    --item-bg: rgba(255, 255, 255, 0.25);
    --text-color: #ffffff;
    --dark-text: #1f2937;
    --button-primary: #6C63FF;
    --button-yellow: #FFC107;
    --button-red: #FF4D4D;
    --button-light: #ffffff;
    --button-light-text: #333333;
    --shadow: rgba(0, 0, 0, 0.2);
    --drag-color: rgba(108, 99, 255, 0.2);
}

body.dark-mode {
    --bg-start: #0f172a;
    --bg-end: #1e293b;
    --panel-bg: rgba(15, 23, 42, 0.72);
    --panel-strong: rgba(30, 41, 59, 0.9);
    --card-bg: rgba(30, 41, 59, 0.8);
    --item-bg: rgba(51, 65, 85, 0.9);
    --text-color: #e2e8f0;
    --dark-text: #e2e8f0;
    --button-primary: #8b5cf6;
    --button-yellow: #fbbf24;
    --button-red: #ef4444;
    --button-light: #1f2937;
    --button-light-text: #e2e8f0;
    --shadow: rgba(2, 6, 23, 0.5);
    --drag-color: rgba(139, 92, 246, 0.25);
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(135deg,var(--bg-start),var(--bg-end));
    padding:30px;
    transition:all 0.3s ease;
}

.container{
    width:700px;
    background:var(--panel-bg);
    backdrop-filter:blur(18px);
    border-radius:20px;
    padding:35px;
    box-shadow:0 20px 40px var(--shadow);
    color:var(--text-color);
}

h1{
    text-align:center;
    margin-bottom:25px;
    font-size:38px;
}

.top-actions {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:20px;
}

.theme-toggle,
.reset-btn,
.input-box button,
.filters button,
.actions button {
    transition:all 0.3s ease;
}

.theme-toggle,
.reset-btn {
    border:none;
    padding:10px 16px;
    border-radius:12px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
}

.theme-toggle {
    background:var(--button-light);
    color:var(--button-light-text);
}

.reset-btn {
    background:#ef4444;
    color:white;
    box-shadow:0 10px 20px rgba(239, 68, 68, 0.25);
}

.input-box{
    display:flex;
    gap:15px;
    margin-bottom:30px;
}

.input-box input{
    flex:1;
    border:none;
    outline:none;
    padding:15px;
    border-radius:12px;
    font-size:18px;
    background:rgba(255,255,255,0.92);
    color:#111827;
}

body.dark-mode .input-box input {
    background:rgba(15, 23, 42, 0.9);
    color:#f8fafc;
    border:1px solid rgba(148, 163, 184, 0.4);
    box-shadow:inset 0 0 0 1px rgba(148, 163, 184, 0.15);
}

body.dark-mode .input-box input::placeholder {
    color:rgba(226, 232, 240, 0.7);
}

.input-box button{
    border:none;
    padding:15px 28px;
    background:var(--button-primary);
    color:white;
    cursor:pointer;
    border-radius:12px;
}

.input-box button:hover,
.theme-toggle:hover,
.reset-btn:hover,
.filters button:hover,
.actions button:hover {
    transform:translateY(-2px) scale(1.01);
}

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
    margin-bottom:25px;
}

.card{
    background:var(--card-bg);
    padding:18px;
    border-radius:15px;
    text-align:center;
}

.card h2{
    font-size:30px;
}

.filters{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
    gap:10px;
}

.filters button{
    flex:1;
    padding:12px;
    border:none;
    border-radius:10px;
    cursor:pointer;
    background:var(--button-light);
    color:var(--button-light-text);
}

.active{
    background:var(--button-primary) !important;
    color:white !important;
}

#taskList{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:15px;
}

#taskList li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:var(--item-bg);
    padding:15px;
    border-radius:12px;
    border:2px solid transparent;
    cursor:grab;
}

#taskList li.dragging {
    opacity:0.5;
    border-color:var(--button-primary);
    background:var(--drag-color);
}

#taskList li.drag-over {
    border-color:var(--button-primary);
    box-shadow:inset 0 0 0 1px var(--button-primary);
}

.task-left{
    display:flex;
    align-items:center;
    gap:12px;
    flex:1;
}

.task-left input{
    width:20px;
    height:20px;
    cursor:pointer;
}

.task-left span{
    font-size:18px;
    word-break:break-word;
}

.completed{
    text-decoration:line-through;
    opacity:.6;
}

.actions{
    display:flex;
    gap:10px;
}

.actions button{
    border:none;
    padding:8px 14px;
    border-radius:8px;
    cursor:pointer;
}

.actions button:first-child{
    background:var(--button-yellow);
}

.actions button:last-child{
    background:var(--button-red);
    color:white;
}

@media(max-width:768px){
    .container{
        width:100%;
    }

    .stats{
        grid-template-columns:1fr;
    }

    .filters,
    .top-actions {
        flex-direction:column;
    }

    .input-box{
        flex-direction:column;
    }
}
