:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--bg-color: #f3f4f6;--text-color: #1f2937;--card-bg: #ffffff;--border-color: #e5e7eb;--secondary-text: #6b7280;--priority-high-bg: #fee2e2;--priority-high-text: #ef4444;--priority-medium-bg: #fef3c7;--priority-medium-text: #f59e0b;--priority-low-bg: #d1fae5;--priority-low-text: #10b981;--completed-bg: #f3f4f6;--completed-text: #9ca3af;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 12px;--radius-sm: 8px}[data-theme=dark]{--bg-color: #111827;--text-color: #f3f4f6;--card-bg: #1f2937;--border-color: #374151;--secondary-text: #9ca3af;--completed-bg: #1f2937;--completed-text: #4b5563}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;display:flex;justify-content:center;padding-top:3rem;padding-bottom:3rem}.app-container{width:100%;max-width:600px;padding:0 1rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{font-size:2rem;font-weight:800;background:linear-gradient(to right,var(--primary-color),#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-color);padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s}.theme-toggle:hover{background-color:var(--border-color);transform:rotate(15deg)}.card{background-color:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.input-group{display:flex;gap:.5rem;margin-bottom:1rem}.input-field{flex:1;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);font-size:1rem}.input-field:focus{outline:2px solid var(--primary-color);border-color:transparent}.priority-select{max-width:120px}.btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:none;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:transform .1s,opacity .2s}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-icon{padding:.5rem;background:transparent;color:var(--secondary-text);border-radius:var(--radius-sm)}.btn-icon:hover{background-color:var(--border-color);color:var(--text-color)}.btn-icon.delete:hover{background-color:#fee2e2;color:#ef4444}.todo-list{display:flex;flex-direction:column;gap:.75rem;list-style:none}.todo-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);transition:all .2s;animation:slideIn .3s ease-out}.todo-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.todo-content{display:flex;align-items:center;gap:1rem;flex:1}.checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer;display:grid;place-items:center;position:relative;transition:all .2s;flex-shrink:0}.checkbox.checked{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-icon{color:#fff;width:14px;height:14px;opacity:0;transform:scale(0);transition:all .2s}.checkbox.checked .checkbox-icon{opacity:1;transform:scale(1)}.todo-text{font-size:1rem;transition:all .2s;flex:1;word-break:break-word;overflow-wrap:break-word;min-width:0}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--secondary-text)}.badge{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-high{background-color:var(--priority-high-bg);color:var(--priority-high-text)}.badge-medium{background-color:var(--priority-medium-bg);color:var(--priority-medium-text)}.badge-low{background-color:var(--priority-low-bg);color:var(--priority-low-text)}.controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.search-bar{position:relative}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--secondary-text);width:18px;height:18px}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-color)}.filter-bar{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.filter-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);background:none;border:1px solid var(--border-color);color:var(--secondary-text);cursor:pointer;white-space:nowrap;font-size:.875rem}.filter-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.stats{display:flex;justify-content:space-between;margin-bottom:1rem;color:var(--secondary-text);font-size:.875rem}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:50}.toast{background-color:var(--card-bg);color:var(--text-color);padding:1rem 1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);border-left:4px solid var(--primary-color);animation:slideInRight .3s ease-out;display:flex;align-items:center;gap:.75rem}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(max-width:640px){body{padding-top:1rem;padding-bottom:2rem}.header{margin-bottom:1.5rem}.header h1{font-size:1.5rem}.input-group{flex-wrap:wrap}.input-field{min-width:100%}.input-group select.input-field,.priority-select{flex:1;min-width:auto;max-width:none}.input-group button.btn{flex:1}.card{padding:1rem;margin-bottom:1rem}.filter-bar{justify-content:stretch}.filter-btn{flex:1;text-align:center;padding:.5rem}.todo-item{padding:.75rem;flex-wrap:wrap;gap:.5rem}.todo-content{min-width:0}.todo-text{font-size:.95rem;word-break:break-word}.badge{font-size:.7rem;padding:.2rem .5rem}.toast-container{left:1rem;right:1rem;bottom:1rem;width:auto}.toast{width:100%;justify-content:space-between}}@media(max-width:380px){.todo-item{flex-direction:column;align-items:stretch}.todo-content{width:100%}.btn-icon{align-self:flex-end}}
