:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--accent: #6366f1;--accent-hover: #818cf8;--danger: #ef4444;--danger-hover: #f87171;--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .1);--text-muted: rgba(255, 255, 255, .5);--radius: .5rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{max-width:580px;margin:0 auto;padding:2rem 1.25rem 3rem;min-height:100vh}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.add-form{display:flex;gap:.5rem;margin-bottom:1.25rem}.add-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem 1rem;font-size:.95rem;color:#fafafa;outline:none;transition:border-color .15s}.add-input::placeholder{color:var(--text-muted)}.add-input:focus{border-color:var(--accent)}.add-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.add-btn:hover{background:var(--accent-hover)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.filters{display:flex;gap:.25rem}.filter-btn{background:transparent;color:var(--text-muted);border:1px solid transparent;border-radius:var(--radius);padding:.3rem .75rem;font-size:.8rem;cursor:pointer;transition:all .15s}.filter-btn:hover{color:#fafafa;background:var(--surface)}.filter-btn.active{color:var(--accent);border-color:var(--accent);background:#6366f11a}.counts{display:flex;gap:.75rem}.count{font-size:.8rem;color:var(--text-muted)}.empty{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.95rem}.task-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.task-item{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .85rem;transition:background .15s,opacity .15s}.task-item:hover{background:var(--surface-hover)}.task-item.completed{opacity:.5}.task-checkbox-label{position:relative;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;cursor:pointer}.task-checkbox{position:absolute;opacity:0;width:0;height:0}.checkmark{width:1.15rem;height:1.15rem;border:2px solid var(--border);border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.task-checkbox:checked+.checkmark{background:var(--accent);border-color:var(--accent)}.task-checkbox:checked+.checkmark:after{content:"";display:block;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.task-checkbox:focus-visible+.checkmark{box-shadow:0 0 0 2px var(--accent)}.task-text{flex:1;font-size:.95rem;cursor:default;word-break:break-word}.task-item.completed .task-text{text-decoration:line-through;color:var(--text-muted)}.edit-input{flex:1;background:#0000004d;border:1px solid var(--accent);border-radius:4px;padding:.3rem .5rem;font-size:.95rem;color:#fafafa;outline:none}.task-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.task-item:hover .task-actions{opacity:1}.action-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;width:1.75rem;height:1.75rem;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .15s}.edit-btn:hover{color:var(--accent);background:#6366f11a}.delete-btn:hover{color:var(--danger);background:#ef44441a}.clear-btn{display:block;margin:1rem auto 0;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem 1rem;font-size:.8rem;cursor:pointer;transition:all .15s}.clear-btn:hover{color:var(--danger);border-color:var(--danger)}.footer{text-align:center;margin-top:2rem;font-size:.75rem;color:var(--text-muted)}
