:root{--bg:#f6f8fb;--card:#ffffff;--text:#0f1724;--muted:#6b7280;--accent:#2563eb;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}.app-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px}.card{width:100%;max-width:720px;background:var(--card);border-radius:12px;padding:18px;box-shadow:0 10px 30px #0206170f}.ta-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.muted{color:var(--muted);font-size:13px}.todo-form{display:flex;gap:10px;margin-bottom:12px}.todo-form input{flex:1;padding:10px;border-radius:8px;border:1px solid #e5e7eb}.btn{padding:8px 12px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer}.btn.ghost{background:transparent;border:1px solid #e5e7eb;color:var(--text)}.btn.danger{background:var(--danger);color:#fff}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.filter-bar .filters{display:flex;gap:8px}.chip{padding:6px 10px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer}.chip.active{border-color:#2563eb1f;background:#2563eb0f}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.todo-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:8px;background:#00000008}.todo-item.completed{opacity:.65;text-decoration:line-through}.todo-item .left{display:flex;align-items:center;gap:10px}.todo-item input[type=checkbox]{width:18px;height:18px}.todo-item .title{cursor:text}.edit-input{padding:8px;border-radius:8px;border:1px solid #e5e7eb}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:60}.modal{background:var(--card);padding:18px;border-radius:12px;min-width:300px;box-shadow:0 12px 40px #0206172e}.modal h3,.modal .muted{margin:0 0 8px}.actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:600px){.card{padding:14px;margin:12px}.todo-form{flex-direction:column}.todo-form input{width:100%}}
