:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #22c55e;--bg-color: #f3f4f6;--card-bg: #ffffff;--text-color: #1f2937;--text-light: #6b7280;--border-color: #e5e7eb;--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: .5rem;--max-width: 1200px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}a{text-decoration:none;color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:var(--card-bg);box-shadow:var(--shadow-sm);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.logo{display:flex;align-items:center}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-color);font-weight:500;transition:color .2s;display:flex;align-items:center}.user-icon{width:24px;height:24px}.nav-links a:hover{color:var(--primary-color)}.content{flex:1;width:100%;max-width:var(--max-width);margin:2rem auto;padding:0 1rem}.card{background-color:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:2rem;border:1px solid var(--border-color)}.todo-container{display:flex;flex-direction:column;gap:2rem}.todo-form{display:flex;gap:1rem}.todo-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:border-color .2s,box-shadow .2s}.todo-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}button{cursor:pointer;font-weight:500;border:none;border-radius:var(--radius);transition:background-color .2s,transform .1s}button:active{transform:translateY(1px)}.add-button{background-color:var(--primary-color);color:#fff;padding:0 1.5rem;font-size:1rem}.add-button:hover{background-color:var(--primary-hover)}.logout-button{width:100%;background-color:var(--danger-color);color:#fff;padding:.75rem;font-size:1rem;margin-top:1rem}.logout-button:hover{background-color:var(--danger-hover)}.todo-list{display:flex;flex-direction:column;gap:.75rem}.todo-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius);transition:box-shadow .2s,transform .2s}.todo-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.todo-item input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary-color);border-radius:4px}.todo-title{flex:1;text-align:left;word-break:break-word;font-size:1.1rem}.todo-item.completed .todo-title{text-decoration:line-through;color:var(--text-light)}.delete-button{padding:.5rem .75rem;background-color:transparent;color:var(--text-light);font-size:.875rem}.delete-button:hover{background-color:#fee2e2;color:var(--danger-color)}.auth-container{max-width:400px;margin:0 auto}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.875rem}.submit-btn{background-color:var(--primary-color);color:#fff;padding:.75rem;font-size:1rem;margin-top:1rem}.submit-btn:hover{background-color:var(--primary-hover)}.auth-link{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-light)}.auth-link a{color:var(--primary-color);font-weight:500}.profile-container{max-width:600px;margin:0 auto}.profile-details{text-align:left;margin-bottom:2rem;background-color:#f9fafb;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border-color)}.profile-details p{margin:.75rem 0;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between}.profile-details p:last-child{border-bottom:none}.error-message{color:var(--danger-color);margin-bottom:1.5rem;padding:.75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:.875rem}.history-container{width:100%}.btn-secondary{background-color:transparent;color:var(--text-color);padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius);transition:all .2s;display:inline-flex;align-items:center}.btn-secondary:hover{background-color:var(--bg-color);border-color:var(--text-light)}.filters-card{padding:1.5rem;background-color:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.filter-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:border-color .2s,box-shadow .2s}.filter-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.history-item-meta{display:flex;justify-content:space-between;width:100%;margin-top:.5rem;font-size:.85rem;color:var(--text-light)}.history-item{flex-direction:column;align-items:flex-start;gap:.5rem}@media(max-width:640px){.navbar{padding:1rem;flex-direction:column;gap:1rem}.nav-links{width:100%;justify-content:center;flex-wrap:wrap}.content{margin:1rem auto;padding:0 .5rem}.card{padding:1.5rem 1rem}.todo-form{flex-direction:column}.add-button{width:100%}.filter-group[style*=flex]{flex-direction:column;gap:.75rem!important}}
