*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1e293b;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh}#root{width:100%}button{font-family:inherit}.todo-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:all .2s ease;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.todo-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.todo-item.completed{background:#f8fafc;border-color:#e2e8f0}.todo-checkbox{width:24px;height:24px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.todo-content{flex:1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.todo-text{font-size:1rem;color:#1e293b;line-height:1.5;word-break:break-word;cursor:pointer;-webkit-user-select:none;user-select:none}.todo-item.completed .todo-text{text-decoration:line-through;color:#94a3b8}.category-tag{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.category-general{background:#e0e7ff;color:#4338ca}.category-work{background:#dbeafe;color:#1e40af}.category-education{background:#fef3c7;color:#92400e}.category-personal{background:#fce7f3;color:#9f1239}.category-shopping{background:#d1fae5;color:#065f46}.category-health{background:#fed7aa;color:#9a3412}.todo-item.completed .category-tag{opacity:.6}.todo-edit-container{flex:1;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.todo-edit-input{flex:1;min-width:150px;padding:.5rem .75rem;border:2px solid #667eea;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:#1e293b}.todo-edit-input:focus{outline:none;box-shadow:0 0 0 3px #667eea1a}.category-select-edit{padding:.5rem .75rem;border:2px solid #667eea;border-radius:8px;font-size:.875rem;font-family:inherit;background:#fff;color:#1e293b;cursor:pointer}.category-select-edit:focus{outline:none;box-shadow:0 0 0 3px #667eea1a}.todo-actions{display:flex;gap:.5rem;flex-shrink:0}.edit-button,.delete-button{width:36px;height:36px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.edit-button:hover{background:#f1f5f9;transform:scale(1.1)}.delete-button:hover{background:#fee2e2;transform:scale(1.1)}.edit-button:active,.delete-button:active{transform:scale(.95)}@media(max-width:640px){.todo-item{padding:.875rem 1rem}.todo-text{font-size:.9375rem}.edit-button,.delete-button{width:32px;height:32px;font-size:1.125rem}}.todo-app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.todo-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:2.5rem;width:100%;max-width:600px;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.app-header{text-align:center;margin-bottom:2rem}.app-title{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-1px}.app-subtitle{color:#64748b;font-size:1rem;margin:.5rem 0 0;font-weight:500}.todo-form{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.todo-input{flex:1;min-width:200px;padding:1rem 1.25rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:#f8fafc}.category-select{padding:1rem 1.25rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:#f8fafc;cursor:pointer;min-width:130px}.category-select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.todo-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.todo-input::placeholder{color:#94a3b8}.add-button{padding:1rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.add-button:active{transform:translateY(0)}.category-filters{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;padding:.5rem;background:#f8fafc;border-radius:10px}.filter-btn{padding:.375rem .75rem;border:none;border-radius:6px;background:transparent;color:#64748b;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-btn:hover{background:#e2e8f0;color:#475569}.filter-btn.active{background:#fff;color:#1e293b;font-weight:600;box-shadow:0 1px 3px #0000001a}.filter-general.active{color:#4338ca}.filter-work.active{color:#1e40af}.filter-education.active{color:#92400e}.filter-personal.active{color:#9f1239}.filter-shopping.active{color:#065f46}.filter-health.active{color:#9a3412}.todo-stats{display:flex;justify-content:space-around;gap:1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:10px;margin-bottom:1rem}.stat-item{font-size:.8125rem;color:#64748b;font-weight:500}.stat-item strong{color:#1e293b;font-weight:700;font-size:1rem;margin-left:.25rem}.todo-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.todo-list::-webkit-scrollbar{width:8px}.todo-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.todo-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.todo-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.empty-state{text-align:center;padding:3rem 1rem;color:#94a3b8;font-size:1.125rem}.empty-state p{margin:0}@media(max-width:640px){.todo-container{padding:1.5rem}.app-title{font-size:2.25rem}.todo-form{flex-direction:column}.todo-input,.category-select,.add-button{width:100%}.category-filters{gap:.25rem;padding:.375rem}.filter-btn{font-size:.75rem;padding:.3rem .625rem}.todo-stats{flex-direction:column;text-align:center;gap:.5rem}}
